Maven Multi Module项目问题?

时间:2012-11-07 13:09:55

标签: java maven

嗨我有像这样的多模块maven项目..

  

父母

     
      
  1. 核心
  2.   
  3. 网络
  4.   

我的 Web 项目取决于核心项目类,因此我将核心项目添加为 Web 中的依赖项项目 pom.xml 文件。 但是当我运行 Web 项目时,从Eclipse内部来看,lib目录在 class-path 中不包含 Core-project.jar 文件,所以项目没有运行。如何解决这个问题?我在 Web Projec * Pom.xml *文件中使用的插件..

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    <wtpversion>2.0</wtpversion>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
        </plugins>

我正在使用Tomcat6服务器。

我的Web项目pom.xml文件中的这个Dependency标记...

<dependency>
            <groupId>org.csdc</groupId>
            <artifactId>core-java</artifactId>
            <version>5.0.0</version>
        </dependency>

当我从Eclipse内部运行web项目时,我没有在此路径中获得 core.jar ....

  

workspace_maven.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \网络\ WEB-INF \ lib中

任何人都有这样的问题。如果是,请让我知道如何解决这个问题?

6 个答案:

答案 0 :(得分:1)

在Eclipse下:您不需要在类路径中拥有core.jar。检查你的librairies(web-&gt; properties-&gt; java build path-&gt; librairies),你应该看到你的核心文件夹,而不是你的core.jar。

确保在maven构建目标中选中“解析工作区依赖关系”。

答案 1 :(得分:1)

为eclipse安装m2e和m2e-wtp插件。 m2e-wtp处理web项目和tomcat。您不需要在问题中记录的pom的插件部分。

要让maven在eclipse中使用项目,您需要确保父项目与子项目处于同一级别,并且父项目的pom如下所示

<modules>
    <module>../project1</module>
    <module>../project2</module>
</modules>

不幸的是,这是让maven在eclipse和jenkins中正常工作以实现多模块构建的唯一方法。

答案 2 :(得分:0)

安装正确的插件集并正确配置它们。

如果您需要更详细的答案,您应该向我们提供更多信息,您尝试实现的目标,使用的插件,Web服务器类型,部署方式,是否使用Maben部署或Eclipse WTP等

[编辑] 当您在Eclipse中启动项目时,您在项目/ WEB-INF / lib中看不到任何内容 - 没有任何意义,因为此文件夹不是&# 39; t used。

相反,您可能将项目部署到Web服务器。有一些Eclipse的插件可以做到这一点(即启动一个Web服务器,将你的项目部署到它中),但是因为你没有提到你是如何开始的#34; Eclipse中的项目,您正在使用的Eclipse版本以及您单击的按钮,Eclipse的配置方式等等,它很难为您提供帮助。

答案 3 :(得分:0)

不完全清楚这是你正在寻找的东西,但是这些罐子不会出现在eclipse的lib目录下,因为它们在你的存储库中。

当我右键点击项目时,我的eclipse版本有一个'maven'菜单。如果您也这样做,请确保选择了“启用Maven Nature”。这将使项目名称旁边出现一个小M,项目中出现一个新文件夹,其中包含pom中列出的所有依赖项。

答案 4 :(得分:0)

1.转到Web项目构建路径 - &gt;库 - 添加变量 - &gt;配置变量 - &gt;新 - &gt;输入Name作为M2_REPO,将Path输入为C:\ Users \ usernmee.m2 \ repository,然后单击Ok。 所有依赖项都将在项目构建路径中配置。所以网络项目中没有编译错误 2.Maven项目需要进行战争并将其部署在任何Web容器(tomcat等)中。

答案 5 :(得分:0)

运行mvn clean package后检查目标目录中的war。如果它在那里丢失,请检查pom.xml中“Web”的“Core”依赖关系的范围,确保它没有提供或测试。

听起来你的pom片段就是你正在使用mvn eclipse:eclipse(你不应再这样了),而是使用m2eclipse插件:http://www.sonatype.org/m2eclipse