如何排除资源包被构建到 jar Maven 中?
How to exclude resource package from being build into jar Maven?
嗨,我正在将项目构建到 maven 的 jar 文件中,但我希望一些资源包不包含在该 jar 中。相反,我想构建两个单独的 jar,一个包含项目,另一个包含那些排除的包。怎么做?
假设您正在使用 dependency:copy-dependencies,有两个选项可以帮助您:
- excludeClassifiers:逗号分隔的要排除的分类器列表。空字符串表示不排除任何内容(默认)。
- excludeScope 要排除的范围。空字符串表示没有作用域(默认)。
我用它来从我的 Struts2 war 项目中排除 jsp-api.jar。 运行 StrutsTestCase 测试需要这个 jar,但如果它包含在 war 中,它会与 Tomcat lib 目录冲突,后者已经包含 jsp-api.jar
在我的 pom.xml:
中设置我的依赖项
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
我的 maven-dependency 插件是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/lib</outputDirectory>
<excludeScope>provided</excludeScope>
</configuration>
</plugin>
我已经解决了在 Tomcat
上部署时排除 jar 的问题
嗨,我正在将项目构建到 maven 的 jar 文件中,但我希望一些资源包不包含在该 jar 中。相反,我想构建两个单独的 jar,一个包含项目,另一个包含那些排除的包。怎么做?
假设您正在使用 dependency:copy-dependencies,有两个选项可以帮助您:
- excludeClassifiers:逗号分隔的要排除的分类器列表。空字符串表示不排除任何内容(默认)。
- excludeScope 要排除的范围。空字符串表示没有作用域(默认)。
我用它来从我的 Struts2 war 项目中排除 jsp-api.jar。 运行 StrutsTestCase 测试需要这个 jar,但如果它包含在 war 中,它会与 Tomcat lib 目录冲突,后者已经包含 jsp-api.jar
在我的 pom.xml:
中设置我的依赖项<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
我的 maven-dependency 插件是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/lib</outputDirectory>
<excludeScope>provided</excludeScope>
</configuration>
</plugin>
我已经解决了在 Tomcat
上部署时排除 jar 的问题