Sco*_*urz 1 websphere maven websphere-liberty open-liberty
我想java -jar my.jar使用 Open Liberty 从我的 Maven WAR 项目构建一个可运行/可执行的 JAR(与 一起运行)。
如果我运行,mvn package我会得到一个 WAR,但如果我随后运行,mvn liberty:package我会得到类似以下内容的信息:
[INFO] CWWKM2001I: Invoke command is ["C:\git\lmparch1\test\target\liberty\wlp\bin\server.bat", package, defaultServer, --archive="C:\git\lmparch1\test\target\test.jar", --include=runnable].
[INFO] CWWKE0005E: The runtime environment could not be launched.
[INFO] CWWKE0031E: Specified defaultServer server does not exist; use the create action to create a new server. serverPath: C:\git\lmparch1\test\target\liberty\wlp\usr\servers\defaultServer
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20.531 s
[INFO] Finished at: 2021-04-09T15:32:01-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.openliberty.tools:liberty-maven-plugin:3.3.4:package (default-cli) on project test: CWWKM2002E: Failed to invoke ["C:\git\lmparch1\test\target\liberty\wlp\bin\server.bat", package, defaultServer, --archive="C:\git\lmparch1\test\target\test.jar", --include=runnable]. RC= 2 but expected=[0]. -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
我应该配置什么目标并将其绑定到哪些阶段等?
答案取决于您是否使用liberty-maven-app-parent来设置生命周期(或者类似地将目标绑定到您自己的阶段),还是使用更接近内置 war 生命周期绑定的东西(没有所有额外的“自由”插件目标绑定)。
首先,如果您使用io.openliberty.tools:liberty-maven-app-parent,例如使用liberty-archetype-webapp _ 生成,那么您只需使用它作为您的 liberty-maven-plugin 配置:
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.3.4</version>
<configuration>
<include>minify,runnable</include>
Run Code Online (Sandbox Code Playgroud)
并做mvn package。
您将看到创建的可运行 JAR 如下所示:target/xyz.jar
最简单的方法是让开发模式安装 Liberty 并打包和部署 WAR,然后Ctrl+C取消它以打包可运行的 JAR。
mvn liberty:dev以启动“开发模式”并等待服务器安装和应用程序部署<Ctrl+C>(当您看到Liberty 正在开发模式下运行时,或者当您看到应用程序启动时CWWKT0016I application available 消息)。mvn liberty:package -Dinclude=minify,runnable以生成可运行的 JAR(类似于:target/xyz.jar)。如果您以非交互方式运行,那么发出Ctrl+C并不容易,您可以这样做
mvn package liberty:create liberty:install-feature liberty:deploy liberty:package -Dinclude=minify,runnable
我们打开这个问题是为了考虑改进这个用例。
| 归档时间: |
|
| 查看次数: |
1059 次 |
| 最近记录: |