由于传递依赖关系,我的战争被xml-apis和xerces jar填充。我尝试按照参考页上有关maven-war-
plugin的说明进行操作,但是它不起作用。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes>WEB-INF/lib/xalan-2.6.0.jar,WEB-INF/lib/xercesImpl-2.6.2.jar,WEB-INF/lib/xml-apis-1.0.b2.jar,WEB-INF/lib/xmlParserAPIs-2.6.2.jar</packagingExcludes>
<webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
<warName>project1</warName>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
</configuration>
</plugin>
我究竟做错了什么 ?如果很重要,我发现我正在使用的maven-war-plugin版本为2.1-alpha-1
您可以将这些依赖项标记为已提供:
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
这样,maven会将它们添加到编译类路径中,但不会打包它们。假定它们存在于您的servlet容器中。
查看更多关于Maven范围在这里下的“范围”
编辑 如果要删除通过传递依赖项添加的类,则可以将其从依赖项中排除,如下所示:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
在这里查看更多
我使用jaxb2 maven插件的xjc目标从一组xsd文件生成Java类。 一个最小的、完整的、可验证的例子是一个带有以下pom的Maven项目。xml文件: 还有一个名为example的文件。src/main/resources/文件夹中的xsd(任何有效的xsd文件都可以):
我正在使用“maven”插件将Gradle构建创建的工件上传到Maven中央存储库。我正在使用类似于以下任务的任务: 然而,此任务创建的POM文件不能正确报告在我的Gradle构建文件中被排除的依赖项。例如: 如何在生成的POM文件中正确管理排除的依赖项?
那么如何防止插件jar进入war文件呢?多谢了。
https://github.com/niltz/so-51090868-示例 当我使用maven在命令行上运行构建时,它似乎运行得很好,但当我将pom导入Spring工具套件时,我就发现了问题。
试图从我的构建中提取文件夹,但以下操作不起作用: 有什么想法吗?
如果我将“spring-boot-starter-tomcat”插件依赖项集保留在gradle构建文件中进行编译,那么在部署到独立的Tomcat7服务器时,我会得到以下错误消息: 如果我将依赖关系更改为“提供”,我可以部署到Tomcat,但在IntelliJ IDEA15中运行或调试时会出现以下错误: 如何在war文件生成中排除这些依赖项,同时保留在IDEA中运行/调试的能力? 更好的是,有没有一