ОБНОВЛЕНИЕ — июль 2021 г.:
Хотя принятый ответ с использованием плагина зависимостей был лучшим решением в то время, ответ от @ltlBeBoy использует поддержку «copyDependencies», добавленную в плагин Liberty-maven. Использование «copyDependencies» обычно является лучшим решением, поскольку оно интегрировано в цикл режима разработки и менее подробно (за счет поддержки меньшего количества параметров, чем плагин зависимостей).
ИСХОДНЫЙ ВОПРОС
Мне нужно скопировать derby.jar
в общий каталог Open Liberty ${project.build.directory}/liberty/wlp/usr/shared/resources/
. У меня есть следующая настройка в файле pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-derby-dependency</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>derby</includeArtifactIds>
<outputDirectory>${project.build.directory}/liberty/wlp/usr/shared/resources/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
и часть для настройки открытой свободы
<plugin>
<groupId>net.wasdev.wlp.maven.plugins</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>${openliberty.maven.version}</version>
<executions>
<execution>
<id>package-server</id>
<phase>package</phase>
<goals>
<goal>create-server</goal>
<goal>install-apps</goal>
<goal>package-server</goal>
</goals>
<configuration>
<outputDirectory>target/wlp-package</outputDirectory>
</configuration>
</execution>
</executions>
<configuration>
<assemblyArtifact>
<groupId>io.openliberty</groupId>
<artifactId>openliberty-runtime</artifactId>
<version>${openliberty.version}</version>
<type>zip</type>
</assemblyArtifact>
<configFile>src/main/liberty/config/server.xml</configFile>
<appArchive>${project.build.directory}/${final.name}.war</appArchive>
<packageFile>${project.build.directory}/${final.name}.jar</packageFile>
<include>runnable</include>
<serverName>${final.name}</serverName>
<installAppPackages>project</installAppPackages>
<configDirectory>${project.basedir}/src/main/liberty/server</configDirectory>
<bootstrapProperties>
<project.name>${final.name}</project.name>
<jwt.issuer>https://server.example.com</jwt.issuer>
</bootstrapProperties>
</configuration>
</plugin>
С этой настройкой я должен дважды выполнить цель mvn package
. Похоже, что при выполнении liberty-maven-plugin
папка ${project.build.directory}/liberty/wlp/usr/shared/resources/
удаляется, если нет сервера Liberty под liberty/wlp/
.
Журнал Maven:
[INFO] --- maven-dependency-plugin:2.10:copy-dependencies (copy-derby-dependency) @ account ---
[INFO] Copying derby-10.15.1.3.jar to /Users/anton/github/account/target/liberty/wlp/usr/shared/resources/derby-10.15.1.3.jar
and after it
[INFO] --- liberty-maven-plugin:2.2:create-server (package-server) @ account ---
[INFO] CWWKM2110I: Uninstalling: /Users/anton/github/account/target/liberty/wlp.
Может кто-нибудь, пожалуйста, помогите мне с этим?
package
? - person J Fabian Meier   schedule 22.09.2019liberty-maven-plugin:create-server
все равно удаляет каталог${project.build.directory}/liberty/wlp/usr/shared/resources/
, созданныйcopy-dependencies
- person Anton Balaniuc   schedule 22.09.2019create-server
уже поздно? - person J Fabian Meier   schedule 22.09.2019liberty-maven-plugin
, так что теперь у меня есть следующий порядокliberty-maven-plugin:create-serverve
->maven-dependency-plugin:copy-derby-dependency
и, наконец,liberty-maven-plugin:install&package
- person Anton Balaniuc   schedule 23.09.2019