Eclipse neon不会将maven依赖关系解析为jar,而是解析为类

时间:2016-09-27 18:33:17

标签: maven m2eclipse eclipse-neon

我一直在追逐这个问题好几天了。我最近从luna升级到了Eclipse霓虹灯。我有多个项目依赖于在同一开发空间中的其他项目中定义的jar。我只在pom.xml中定义了项目依赖项,一切都运行良好。但是,我有一个项目有2个依赖项目,一个项目将自己解析为jar,另一个项目将自身解析为对另一个项目中生成的类的路径的引用。

以下是引用其他项目的pom.xml片段:

    <dependency>
        <groupId>org.ihc.hdd</groupId>
        <artifactId>LeopardSearchBase</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>org.ihc.hdd.solr</groupId>
        <artifactId>IndexerBase</artifactId>
        <version>1.1.0</version>
    </dependency>

When I build the project the references in the maven dependencies of the project are:

请注意&#39; IndexerBase&#39;项目由类路径和LeopardSearchBase&#39;引用。罐子引用。
这些项目被定义为罐子,据我所知,它们的配置完全相同。

奇怪的是,使用Eclipse luna,运行&#39; maven-&gt;更新项目......&#39;它正确配置自己,但将Eclipse霓虹灯指向同一个项目,它自己配置错误。

The project dependency references from Eclipse luna

来自Eclipse luna的

org.eclipse.wst.common.component看起来像这样:

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="EddConsole-1.0">
        <dependent-module archiveName="IndexerBase-1.1.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/IndexerBase/IndexerBase">
            <dependency-type>uses</dependency-type>
        </dependent-module>
        <dependent-module archiveName="LeopardSearchBase-1.3.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/LeopardSearchBase/LeopardSearchBase">
            <dependency-type>uses</dependency-type>
        </dependent-module>
    <property name="context-root" value="EddConsole"/>
    <wb-resource deploy-path="/" source-path="src/main/webapp"/>
    <property name="java-output-path" value="/target/classes"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/webapp"/>
  </wb-module>
</project-modules>

来自Eclipse neon的org.eclipse.wst.common.component看起来像这样:

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="EddConsole-1.0">
        <dependent-module archiveName="LeopardSearchBase-1.3.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/LeopardSearchBase/LeopardSearchBase">
            <dependency-type>uses</dependency-type>
        </dependent-module>
    <property name="context-root" value="EddConsole"/>
    <wb-resource deploy-path="/" source-path="src/main/webapp"/>
    <property name="java-output-path" value="/target/classes"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/webapp"/>
  </wb-module>
</project-modules>

我希望我在这里错过了配置选项。随着项目的运行方式,它将无法正确部署为Web应用程序。

有关如何解决此问题的任何想法?

谢谢。

0 个答案:

没有答案