从WAR中存在的jar中排除.java

时间:2015-04-07 07:44:33

标签: maven jar war

我有两个maven项目,P1在编译时需要P2的java-sources。所以,我在P2的jar中包含了源代码,作为P1的pom中的依赖项。如何从最终的战争创建中排除那些.java文件?

或者,有没有更好的方法来打包P1的罐子?

1 个答案:

答案 0 :(得分:1)

更好的方法是使用P2的源创建和部署单独的JAR,并将其作为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>