eclipse Indigo中的多个maven项目

时间:2012-03-17 19:22:02

标签: eclipse maven maven-eclipse-plugin

我有一个像这样的多个maven项目:

root/
----war
----jar1
----jar2
----jar3

战争使用jar1,jar2和jar3

当我运行“mvn clean install”时,编译的战争很好并且在我的服务器(jboss)中正常工作。 当我运行“mvn eclipse:eclipse”来生成我的eclipse配置时,构建工作正常但是当我在eclipse(Indigo)中导入我的项目并且在我的服务器中发布我的战争时,jar1,jar2,jar3不会发布。

在war构建路径配置中,jar1,jar2,jar3配置得很好。

enter image description here

但是当我查看war项目的部署程序集时,我有下一个错误:

enter image description here

这是我为war项目生成的.classpath文件:

<classpath>
  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
  <classpathentry kind="output" path="target/classes"/>
  <classpathentry kind="var" path="M2_REPO/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13.jar" sourcepath="M2_REPO/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13-sources.jar">
    <attributes>
      <attribute value="jar:file:/Users/Kiva/java/repoMaven/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13-javadoc.jar!/" name="javadoc_location"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="var" path="M2_REPO/javax/faces/jsf-impl/1.2_13/jsf-impl-1.2_13.jar" sourcepath="M2_REPO/javax/faces/jsf-impl/1.2_13/jsf-impl-1.2_13-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar" sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar" sourcepath="M2_REPO/javax/el/el-api/1.0/el-api-1.0-sources.jar">
    <attributes>
      <attribute value="/WEB-INF/lib" name="org.eclipse.jst.component.dependency"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  <classpathentry kind="src" path="/jar1"/>
  <classpathentry kind="src" path="/jar2"/>
  <classpathentry kind="src" path="/jar3"/>
  <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE-sources.jar">
    <attributes>
      <attribute value="/WEB-INF/lib" name="org.eclipse.jst.component.dependency"/>
    </attributes>
  </classpathentry>
</classpath>

这是我的eclipse插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <wtpversion>2.0</wtpversion>
        </configuration>
</plugin>

我不明白为什么我的插件配置错误以及为什么eclipse找不到jar。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

在这种情况下最重要的是:不要使用eclipse:eclipse再使用m2e插件而不是与Maven的关系。只需简单地导入项目即可。您应该通过Eclipse Marketplace为wtp添加m2e。之后,您应该能够将战争部署到服务器。

答案 1 :(得分:0)

您可以尝试Eclipse Multi-project Import/Export。我认为它将满足您的需求。

答案 2 :(得分:0)

我找到了问题。

jboss工具maven支持插件(使用jboss工具安装)打破了项目之间的链接。卸载它将解决问题。

可以只卸载maven支持并保留其余部分;)