1

嗨,我有类似这样的多模块 Maven 项目..

父母

  1. 网络

并且我的Web项目依赖于Core项目类,因此我在Web项目pom.xml文件中添加了Core项目作为依赖项。但是当我运行Web项目时,从 Eclipse 内部,lib 目录在类路径中不包含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>
            <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\WEB-INF\lib

任何人有任何这样的问题。如果是,请告诉我如何解决这个问题?

4

6 回答 6

1

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

确保在您的 Maven 构建目标中选中“解决工作空间依赖项”。

于 2012-11-08T12:36:03.453 回答
1

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

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

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

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

于 2012-11-08T12:57:05.610 回答
0

不完全清楚这就是您要查找的内容,但是 jar 不会出现在 Eclipse 中的 lib 目录下,因为它们在您的存储库中。

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

于 2012-11-07T16:12:52.087 回答
0

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

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

于 2012-11-07T20:26:44.317 回答
0

1.转到 web 项目构建路径 -> 库 - 添加变量 -> 配置变量 -> 新建 -> 输入名称为 M2_REPO 和路径为 C:\Users\usernmee.m2\repository 并单击确定。所有依赖项都将在项目构建路径中配置。所以在 web 项目中没有编译错误。
2.Maven项目需要采取war并部署在任何Web容器(tomcat等)中。

于 2012-11-07T16:57:20.973 回答
0

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

如果您需要更详细的答案,您应该向我们提供更多信息,您尝试实现什么,您使用哪些插件,什么样的 Web 服务器,您如何部署,您是使用 Maben 部署还是使用 Eclipse WTP 等。

[编辑]当您在 Eclipse 中启动项目时,您不会在 project/WEB-INF/lib 中看到任何内容 - 没有必要在其中放置任何内容,因为未使用此文件夹。

相反,您可能会将项目部署到 Web 服务器。有 Eclipse 的插件可以做到这一点(即启动一个 Web 服务器,将您的项目部署到其中)但是由于您没有提及您是如何在 Eclipse 中“启动”项目的,因此您正在使用哪个版本的 Eclipse 和你点击了哪些按钮,你如何配置 Eclipse 等等。真的很难帮助你。

于 2012-11-07T13:18:20.033 回答