我的m2e插件的eclipse类路径出了问题。 我有一个项目依赖于我工作区中的其他项目。我已经将这些依赖项添加为提供范围的maven依赖项。我希望范围可以做到以下几点: 提供编译的依赖项,但为运行时类路径排除它们。 因为在运行时,应该从文件夹内的jar中加载这些类。
但是eclipse类路径包含了我在项目pom中提供的每一个依赖项。 Eclipse似乎忽略了提供的范围。 有没有办法从运行时类路径中排除它们?
此致
答案 0 :(得分:1)
如果您希望“为编译提供依赖项但从运行时类路径中排除”,则需要使用“提供的”依赖项范围(Maven术语)而不是“编译”范围, Maven默认使用。
答案 1 :(得分:0)
m2e正在这里正常工作。我认为你误解了'运行时'的含义。实际上,您的项目确实依赖于编译和运行时的其他项目,当您使用Maven构建它时,POM将反映出这一点。如果您计划将项目部署到例如,则只能使用“提供”范围。一个提供依赖项的应用程序服务器。
答案 2 :(得分:0)
我遇到了与maven-war-plugin 2.2版相同的问题,请使用maven-war-plugin ver。 2.3问题已经消失,至少使用 mvn package 命令。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webxml>WebContent/WEB-INF/web.xml</webxml>
<packagingExcludes>jsp-api-6.0.36.jar,el-api-6.0.36.jar,servlet-api-6.0.36.jar</packagingExcludes>
</configuration>
</plugin>