我们在应用程序中使用 appassembler 插件。我们正在转换我们的 maven 配置以使用分类器创建工件,这些分类器显示使用什么 jdk 来编译它。在添加配置文件和构建分类 jar 之前,appassembler 愉快地制作了一个脚本并构建了正确的类路径来支持该脚本。
然而,现在工件是用分类器构建的,它正在将错误的 jar 添加到其类路径中。也就是说,它引用了正确的 groupId、artifactId 和 version,但没有分类器。如何让 appassembler 正确构建路径?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.9</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<programs>
<program>
<mainClass>com.package.ObjectClass</mainClass>
<name>ObjectClass</name>
</program>
</programs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven.jar.version}</version>
<configuration>
<classifier>${jdk.version.display}</classifier>
</configuration>
</plugin>
这是一个显示问题的通用示例:
<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>
<groupId>test</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.9</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<programs>
<program>
<mainClass>test.example.TestExample</mainClass>
<name>TestExample</name>
</program>
</programs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<classifier>myClassifier</classifier>
</configuration>
</plugin>
</plugins>
</build>