我在重构使用 picocli 的代码时遇到问题
这是示例
@Command(name='-classA')
class A{
@Options(names = '-n1')
public int num1;
@Options(names = '-n2')
public int num2;
public void testA(){
System.out.println("class A Testing");
System.out.println(num1+num2);
}
}
@Command(name='-classB')
class B{
@Options(names = '-n1')
public int num1;
@Options(names = '-n2')
public int num2;
public void testB(){
System.out.println("class B Testing");
System.out.println(num1+num2);
}
}
目前,我的 cli 工具的工作方式类似于
java -jar poo.jar -classA -n1 -n2
java -jar poo.jar -classB -n1 -n2
尽管 A 类和 B 类都运行良好,但在重构我的代码时,我想使用接口将公共变量放在一个位置。像这样
interface MyInterface{
@Options(names = '-n1')
public int num1;
@Options(names = '-n2')
public int num2;
public int getNum1(){return num1;}
public int getNum2(){return num2;}
}
但是,当我执行包含所有选项的应用程序时,编译界面的选项时出现故障。
是不是不可能给界面中的变量选项?
感谢您阅读