我一直在追逐这个问题好几天了。我最近从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>
请注意&#39; IndexerBase&#39;项目由类路径和LeopardSearchBase&#39;引用。罐子引用。
这些项目被定义为罐子,据我所知,它们的配置完全相同。
奇怪的是,使用Eclipse luna,运行&#39; maven-&gt;更新项目......&#39;它正确配置自己,但将Eclipse霓虹灯指向同一个项目,它自己配置错误。
来自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应用程序。
有关如何解决此问题的任何想法?
谢谢。