5

我的 Eclipse 类路径与 m2e 插件有问题。我有一个项目,它依赖于我工作区中的其他项目。我已将这些依赖项添加为提供范围的 Maven 依赖项。我希望范围执行以下操作:为编译提供依赖项,但将它们排除在运行时类路径中。因为在运行时,这些类应该从文件夹内的 jar 中加载。

但是 Eclipse 类路径包括我在项目 pom.xml 中提供的每一个依赖项。Eclipse 似乎忽略了提供的范围。有没有办法从运行时类路径中排除那些?

问候

4

3 回答 3

1

如果您希望依赖项“为编译提供但从运行时类路径中排除”,您需要使用“提供的”依赖项范围(一个 Maven 术语)而不是 Maven 默认使用的“编译”范围。

于 2016-01-25T17:17:05.047 回答
0

m2e 在这里正常工作。我认为您误解了“运行时”的含义。您的项目实际上在编译和运行时都依赖于其他项目,当您使用 Maven 构建它时,POM 将反映这一点。如果您计划将项目部署到例如提供依赖项本身的应用程序服务器,您将只使用范围“提供”。

于 2012-04-27T15:01:34.237 回答
0

我在使用 maven-war-plugin 2.2 版时遇到了同样的问题,使用 maven-war-plugin 版本。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>
于 2013-02-04T06:10:21.730 回答