从 WAR 中存在的 jar 中排除 .java
Excluding .java from a jar present in a WAR
我有两个 Maven 项目,P1 在编译时需要 P2 的 java-sources。所以,我在 P2 的 jar 中包含了源代码,作为依赖项包含在 P1 的 pom.xml 中。我如何从最终 war 创建中排除那些 .java 文件?
或者,P1的jar有没有更好的打包方式?
更好的方法是创建和部署一个单独的 JAR,其中包含 P2 的源代码,并将其添加为 P1 中 GWT 编译的依赖项。
对于源代码 JAR,请查看 maven-sources-plugin。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
如果将此添加到 POM 的构建部分,构建将创建一个带有分类器 'sources' 的单独 JAR。
然后您可以将此工件作为依赖项添加到 Maven GWT 编译器插件中:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.7.0</version>
<compileSourcesArtifacts>
<compileSourcesArtifact>your.groupId:artifactId</compileSourcesArtifact>
</compileSourcesArtifacts>
</plugin>
我有两个 Maven 项目,P1 在编译时需要 P2 的 java-sources。所以,我在 P2 的 jar 中包含了源代码,作为依赖项包含在 P1 的 pom.xml 中。我如何从最终 war 创建中排除那些 .java 文件?
或者,P1的jar有没有更好的打包方式?
更好的方法是创建和部署一个单独的 JAR,其中包含 P2 的源代码,并将其添加为 P1 中 GWT 编译的依赖项。
对于源代码 JAR,请查看 maven-sources-plugin。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
如果将此添加到 POM 的构建部分,构建将创建一个带有分类器 'sources' 的单独 JAR。
然后您可以将此工件作为依赖项添加到 Maven GWT 编译器插件中:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.7.0</version>
<compileSourcesArtifacts>
<compileSourcesArtifact>your.groupId:artifactId</compileSourcesArtifact>
</compileSourcesArtifacts>
</plugin>