【发布时间】:2016-07-15 11:10:12
【问题描述】:
我的 maven 项目包含两个 src 包和几个依赖项。
我将它打包为一个战争,并在 WEB-INF/libs 中包含了所有依赖项,如 libs。
现在我需要在一个 jar 中包含来自 com.path.to.package.a 的所有已编译项目类,但我还需要排除 com.path.to.package.b 中包含的已编译类。
我知道我可以使用<archiveClasses> 选项,例如:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<archiveClasses>true</archiveClasses>
</configuration>
</plugin>
这会将 jar 项目正确地放入库中,但显然它保留了所有 .class 文件。
我尝试使用 <packagingExcludes> 或 <warSourceExcludes> 等选项执行排除,但没有运气。
我可以使用与<archiveClasses> 配对的任何选项来从 jar 中排除我需要的东西吗?
【问题讨论】:
-
com.path.to.package.b 包中的源类在哪里?
-
为什么要排除类被打包?没有意义吗?您想排除哪些类?
-
你试过在
标签下使用 吗?但是,将包分开在不同的模块中听起来更好com.path.to.package.b -
@davidhxxx 进入包路径
-
@khmarbaise 确实如此。这是一个具有多个依赖项的项目,其中一个是 spring 项目,一个是 gwt 项目。从 gwt 我只需要生成的 *.js,而不是类,因为它们仅用于构建客户端。因此,我只需要包含“服务器”部分的类并排除所有其他类。
标签: java maven jar war maven-war-plugin