Dropwizard - 运行 一个不添加包的独立命令
Dropwizard - running a standalone command without adding bundles
我有一个带有 swagger-jaxrs2 生成 openapi 规范的 Dropwizard 应用程序。例如,我想要一个命令 运行 就这样 java -jar app.jar generate build/spec.json
,但是因为我配置了 Hibernate,它要求我指定配置文件,即使它与命令完全无关,并且NPEs.
尝试指定配置会导致此错误:
unrecognized arguments: 'src/test/resources/configs/configuration.test.yml'
因为我还没有显式添加配置参数。
有没有办法解决这个问题?我必须每次都指定配置?真的很烦人:D
编辑:最终只是劫持 main
并以这种方式输出它,因为在此实例中我只需要访问类路径。想法由 Dropwizard command line input
提供
您可以定义一个扩展 io.dropwizard.cli.Command
的特殊命令,它不需要将配置作为参数传递,因为它不是 io.dropwizard.cli.ConfiguredCommand
。
只需在 io.dropwizard.Application#initialize
的覆盖中注册它并调用 bootstrap.addCommand(new YourSpecialCommand());
它将允许您调用:
java -jar app.jar key-of-your-special-command <any args you define in your command>
我有一个带有 swagger-jaxrs2 生成 openapi 规范的 Dropwizard 应用程序。例如,我想要一个命令 运行 就这样 java -jar app.jar generate build/spec.json
,但是因为我配置了 Hibernate,它要求我指定配置文件,即使它与命令完全无关,并且NPEs.
尝试指定配置会导致此错误:
unrecognized arguments: 'src/test/resources/configs/configuration.test.yml'
因为我还没有显式添加配置参数。
有没有办法解决这个问题?我必须每次都指定配置?真的很烦人:D
编辑:最终只是劫持 main
并以这种方式输出它,因为在此实例中我只需要访问类路径。想法由 Dropwizard command line input
您可以定义一个扩展 io.dropwizard.cli.Command
的特殊命令,它不需要将配置作为参数传递,因为它不是 io.dropwizard.cli.ConfiguredCommand
。
只需在 io.dropwizard.Application#initialize
的覆盖中注册它并调用 bootstrap.addCommand(new YourSpecialCommand());
它将允许您调用:
java -jar app.jar key-of-your-special-command <any args you define in your command>