OpenLiberty Maven Плагин - PullRequest
       27

OpenLiberty Maven Плагин

0 голосов
/ 18 октября 2018

Я пытаюсь создать сервер openliberty runnale как часть моего процесса выпуска.У меня есть мультимодульный проект Maven с субмодулем, предназначенным для упаковки сервера как работающего.Когда я делаю mvn clean package, создается прекрасный исполняемый файл jar, который связывает один из других подмодулей (war).Проблема, с которой я сталкиваюсь, заключается в том, что когда я выполняю развертывание 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>

1 Ответ

0 голосов
/ 03 февраля 2019

У меня нет ответа на ваш вопрос, но есть объяснение, почему это происходит.Каждый тип упаковки (jar, war, liberty-assembly) определяет фиксированное расширение для создаваемого артефакта (ов).Типы liberty-Assembly определяют zip как его расширение.Это расширение используется maven-install-plugin и maven-deploy-plugin независимо от того, как локальный файл имеет имена.Я довольно много копался в коде, но не смог найти способ изменить это.Это наверное что-то.что только liberty-maven-plugin можно изменить / исправить.

...