我试图让我的Dropwizard应用程序接受自定义命令行参数.文档似乎不足,只有一半解释了该怎么做.考虑到我是新手,我需要从代码到命令行使用的一个非常明确的例子.
有人愿意分享吗?我已经看过这个问题,但它没有清楚解释,我无法让它发挥作用.
请不要询问我尝试过的代码示例.相信我,我已经尝试了很多,我不确定要发布什么,因为大多数代码都消失了.如果你知道如何做到这一点,不应该花很长时间来回答.谢谢.
我正在使用手册中所述的示例.如果需要实现以下输出,可以使用提供的代码执行此操作.如果您需要更具体的信息,请告诉我.
Input: java -jarhello -u conor Output: Hello conor
我不确定你正在使用哪种版本的dropwizard.这个是0.9.1
主类
public class MyApplication extends Application{ public static void main(String[] args) throws Exception { { new MyApplication().run(args); } } @Override public void initialize(Bootstrap bootstrap) { bootstrap.addCommand(new MyCommand()); } @Override public void run(ExampleConfiguration config, Environment environment) { } }
MyCommand.java
public class MyCommand extends Command { public MyCommand() { super("hello", "Prints a greeting"); } @Override public void configure(Subparser subparser) { // Add a command line option subparser.addArgument("-u", "--user") .dest("user") .type(String.class) .required(true) .help("The user of the program"); } @Override public void run(Bootstrap> bootstrap, Namespace namespace) throws Exception { System.out.println("Hello " + namespace.getString("user")); } }
参考:http://www.dropwizard.io/0.9.1/docs/manual/core.html#man-core-commands