我试图让我的Dropwizard应用程序接受自定义命令行参数.文档似乎不足,只有一半解释了该怎么做.考虑到我是新手,我需要从代码到命令行使用的一个非常明确的例子.
有人愿意分享吗?我已经看过这个问题,但它没有清楚解释,我无法让它发挥作用.
请不要询问我尝试过的代码示例.相信我,我已经尝试了很多,我不确定要发布什么,因为大多数代码都消失了.如果你知道如何做到这一点,不应该花很长时间来回答.谢谢.
我正在使用手册中所述的示例.如果需要实现以下输出,可以使用提供的代码执行此操作.如果您需要更具体的信息,请告诉我.
Input: java -jar <your-jar> hello -u conor
Output: Hello conor
Run Code Online (Sandbox Code Playgroud)
我不确定你正在使用哪种版本的dropwizard.这个是0.9.1
主类
public class MyApplication extends Application<MyConfiguration> {
public static void main(String[] args) throws Exception {
{
new MyApplication().run(args);
}
}
@Override
public void initialize(Bootstrap<DropwizardConfiguration> bootstrap) {
bootstrap.addCommand(new MyCommand());
}
@Override
public void run(ExampleConfiguration config,
Environment environment) {
}
}
Run Code Online (Sandbox Code Playgroud)
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"));
}
}
Run Code Online (Sandbox Code Playgroud)
参考:http://www.dropwizard.io/0.9.1/docs/manual/core.html#man-core-commands
| 归档时间: |
|
| 查看次数: |
5467 次 |
| 最近记录: |