2

我在重构使用 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;}
}

但是,当我执行包含所有选项的应用程序时,编译界面的选项时出现故障。

是不是不可能给界面中的变量选项?

感谢您阅读

4

0 回答 0