每当我构建并运行一个使用Quarkus插件创建的uberjar时,我都会得到一个运行器jar,它从服务器开始,而我的应用程序不是服务器,而是CLI应用程序。
java -jar ./target/MLPMnist-1.0.0-runner.jar
2019-10-15 18:06:51,222 INFO [io.quarkus] (main) Quarkus 0.23.2 started in 0.876s.
2019-10-15 18:06:51,254 INFO [io.quarkus] (main) Profile prod activated.
2019-10-15 18:06:51,255 INFO [io.quarkus] (main) Installed features: [cdi]
(waiting)
此外,我还没有包括功能'cdi',但似乎已经安装了它,如何不包括cdi以及如何使其不阻塞。
毫无疑问,以上信息很方便,我希望看到它,但是至少我的应用程序应该可以运行。
通常我期望看到这样的错误:
--action argument has not been passed in or no valid value has been provided
- Usage:
./[command] --action train --output-dir /path/to/output/dir
or
./[command] --action evaluate --input-dir /path/to/input/dir
我从Quarkus getting started simple project的项目中汲取了灵感,并使用了尽可能少的扩展名。除了手动浏览指南中的扩展之外,没有快速的方法来评估您的项目需要哪些扩展。
还有一个问题,如果您的原始项目中已经有一个maven shade plugin
配置,我可以将此配置与Quarkus maven插件的配置合并而不会丢失任何与shade / uberjar相关的功能吗?
尽管我找不到足够的文档或示例来深入了解如何使用它,但我也尝试将其作为替代选项并将<uberJar></uberJar>
标志设置为true。
答案 0 :(得分:1)
Quarkus还不支持命令行应用程序,因此它总是作为服务器启动。
始终安装CDI / ArC扩展名。
这就是解释您的行为的原因。