在发布过程中,我试图创建一个runnale openliberty服务器。我有一个多模块Maven项目,其中一个子模块专用于将服务器打包为可运行的服务器。当我执行mvn clean package
时,会生成一个可爱的可执行jar,该jar将其他子模块之一捆绑在一起(战争)。我面临的问题是,当我将Maven部署到资产回购中时,打包的服务器将以 zip文件而不是 jar文件的形式上传。有谁知道如何获取部署插件来上传 jar ?
这是示例 pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>au.com.xxxx.xxxx</groupId>
<artifactId>xxx-backend-parent</artifactId>
<version>0.0.16-SNAPSHOT</version>
</parent>
<artifactId>xxxx-openliberty-server</artifactId>
<packaging>liberty-assembly</packaging>
<name>fusion-openliberty-server</name>
<description>Runnable Jar containing xxxxand the OpenLiberty applictaion server</description>
<dependencies>
<!-- Package xxxx-application.war with server assembly -->
<dependency>
<groupId>au.com.xxx.xxx</groupId>
<artifactId>xxxx-application</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Enable liberty-maven-plugin -->
<plugin>
<groupId>net.wasdev.wlp.maven.plugins</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>2.6.1</version>
<extensions>true</extensions>
<configuration>
<assemblyArtifact>
<groupId>io.openliberty</groupId>
<artifactId>openliberty-javaee8</artifactId>
<version>18.0.0.3</version>
<type>zip</type>
</assemblyArtifact>
<include>runnable</include>
<serverName>xxx</serverName>
<appsDirectory>apps</appsDirectory>
<serverEnv>${basedir}/src/main/resources/server.env</serverEnv>
<configFile>${basedir}/src/main/resources/server.xml</configFile>
<jvmOptionsFile>${basedir}/src/main/resources/jvm.options</jvmOptionsFile>
<bootstrapProperties>
<app.context.root>xxx-app</app.context.root>
<default.http.port>5000</default.http.port>
<default.https.port>5443</default.https.port>
</bootstrapProperties>
</configuration>
</plugin>
</plugins>
</build>
</project>
答案 0 :(得分:0)
对于您的问题,我没有答案,但是有一个解释为什么会发生。每种包装类型(jar,war,liberty-assembly)都为其创建的工件定义了固定的扩展名。 liberty-assembly 类型将zip
定义为其扩展名。 maven-install-plugin
和maven-deploy-plugin
使用此扩展名,而不管本地文件的名称如何。我做了很多代码挖掘工作,但是找不到改变它的方法。可能是某事。只有liberty-maven-plugin
可以更改/修复。