dropwizard - Dropwizard - 运行独立命令而不添加捆绑包
问题描述
我有一个使用 swagger-jaxrs2 生成 openapi 规范的 Dropwizard 应用程序。例如,我想让一个命令简单地运行它java -jar app.jar generate build/spec.json
,但是因为我配置了 Hibernate,所以它需要我指定配置文件,即使它与命令和 NPE 完全无关。
尝试指定配置会导致此错误:
unrecognized arguments: 'src/test/resources/configs/configuration.test.yml'
因为我没有明确添加配置的参数。
有没有办法解决这个问题?我必须每次都指定配置?真的很烦人:D
编辑:最终只是以main
这种方式劫持和输出它,因为在这种情况下我只需要访问类路径。创意由Dropwizard 命令行输入提供
解决方案
您可以定义一个特殊的命令扩展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>
推荐阅读
- c# - 在 ResourceDictionary 中找不到资源
- firebase - 当我在 rxdart 中调用 currentUser 和 Observable 错误时,FirebaseAuth 抛出错误
- java - Hibernate refresh() 或 getSingleResult() 返回一个缓存的实体 (?)
- python - Seaborn 散点图矩阵、chage leged、labels 和 pointsie
- in-app-purchase - iOS 应用内购买 - 身份验证失败 - 应用商店出现问题
- flutter - Flutter 设备守护进程#1:进程在启动期间退出
- r - 使用切片函数将 data.frame 转换为数字
- git - 通过更新而不是覆盖将代码从 linux 推送到 git 的 Shell 脚本
- swift - HttpBody 请求 Swift
- odata - odata v4 是否支持日期值聚合?