默认情况下,我正在以标准方式构建一场战争。
但是,出于遗留原因,我还需要将 java 类集合导出到 JAR 中以进行共享。是否有捷径可寻?
更新: 为了澄清,除了默认的 WAR 输出和布局之外,我还需要一个包含以下内容的 JAR:
{project.base}/src/main/java*
{project.base}/src/main/resources/META-INF/services/*
Run Code Online (Sandbox Code Playgroud)
您可以使用maven-jar-plugin来完成此操作。
保留<packaging>war</packaging>and maven-war-plugin(如果您已在 pom 中定义)并将其添加maven-jar-plugin到您的<build>配置中,定义您的自定义类包含/排除。
A排除类和构建的 jar 包中的所有类的示例pkg:
...
<packaging>war</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
...
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>
<exclude>A.class</exclude>
<exclude>pkg/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
作为输出,当您使用 maven 构建项目时,您的输出目录中将有 awar和 a (不包括排除的类)。jar
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
1270 次 |
| 最近记录: |