我正在开发一个在控制台上运行的项目。有三个类文件。Main.java、User.java 选项.java。我正在使用 args4j 来解析命令行参数。
我第一次从命令行编译一个项目。我使用以下命令编译了项目:
javac -cp .:args4j-2.0.21.jar Main.java User.java Options.java
项目构建成功,我输入以下命令来运行项目:
java -cp .:args4j-tools-2.0.21.jar Main User Options
我收到错误:
Exception in thread "main" org.kohsuke.args4j.IllegalAnnotationError: No OptionHandler is registered to handle class java.lang.Object
at org.kohsuke.args4j.CmdLineParser.createOptionHandler(CmdLineParser.java:166)
at org.kohsuke.args4j.CmdLineParser.addArgument(CmdLineParser.java:110)
at org.kohsuke.args4j.ClassParser.parse(ClassParser.java:38)
at org.kohsuke.args4j.CmdLineParser.<init>(CmdLineParser.java:93)
at ScatterBrain.main(ScatterBrain.java:48)
我必须输入哪个命令来构建项目?
我的选项类:
import org.kohsuke.args4j.*;
import java.util.*;
public class MyOptions{
@Option(name="-r",usage="recursively run something")
private boolean recursive;
@Option(name="-str") // no usage
private String str = "(default value)";
@Option(name="-n",usage="usage can have new lines in it\n and also it can be long")
private int num;
// receives other command line parameters than options
@Argument
private List arguments = new ArrayList();
}