我想利用Maven提供的功能来管理项目中的依赖项。我对Maven如何工作的简要理解是,它将获取所需的JAR,然后使用这些库构建项目。
目前我将一个简单的POM文件设置为测试:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jamesgoodwin.test</groupId>
<artifactId>com.jamesgoodwin.test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
</build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.0.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
通常在管理项目的依赖项时,我会将项目或JAR添加到项目构建路径,然后才能构建我的项目..
但是当使用M2Eclipse时,依赖关系不会自动添加到构建路径中。有没有我需要配置它以允许Eclipse知道Maven正在管理依赖项?
答案 0 :(得分:107)
如果右键单击项目,“maven”下应该有一个“启用依赖关系管理”的选项。就是这样。
答案 1 :(得分:61)
如果你执行
mvn eclipse:clean
接着是
mvn eclipse:eclipse
如果要为你准备eclipse .classpath
文件。也就是说,这些命令是从命令行(即eclipse之外)对maven运行的。
答案 2 :(得分:28)
我假设您正在使用m2eclipse,因为您提到它。但是,您是否在Eclipse下创建项目尚不清楚,因此我将尝试涵盖所有案例。
如果您在Eclipse下创建了一个“Java”项目(Ctrl + N&gt; Java Project),那么右键单击 Package Explorer 中的项目查看并转到 Maven&gt;启用依赖关系管理(根据初始项目结构,您可以修改它以匹配maven的一个,例如通过将src/java
添加到构建路径上的源文件夹)。
如果您在Eclipse下创建了“Maven项目”(Ctrl + N&gt; Maven项目),那么它应该已经“Maven ready”。
如果您在Eclipse之外创建了一个Maven项目(手动或使用原型),那么只需在Eclipse中导入(右键单击 Package Explorer 查看并选择导入...&gt; Maven项目),它将是“Maven ready”。
现在,要添加依赖项,右键单击项目,然后选择 Maven&gt;添加依赖)或手动编辑pom。
PS:如果你使用m2eclipse,请避免使用maven-eclipse-plugin。绝对没有必要,它会令人困惑,它会产生一些混乱。不,真的,除非你真的知道自己在做什么,否则不要使用它。
答案 3 :(得分:14)
右键单击项目Configure&gt;转换为Maven项目
然后您可以看到所有与Maven相关的菜单项目。
答案 4 :(得分:14)
将此添加到.classpath文件..
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
THX
答案 5 :(得分:9)
我确实喜欢这个..
右键点击该项目 - &gt; configure - &gt;转换为maven项目。 右键单击项目 - &gt; maven - &gt;添加依赖项。
答案 6 :(得分:5)
在Eclipse(火星)中转到:
项目属性 - &gt; Maven的。确保&#34;解决工作区项目中的依赖关系&#34; 已停用。
答案 7 :(得分:4)
我没有找到maven或配置菜单,但找到了解决我问题的以下按钮:
答案 8 :(得分:2)
正确安装m2eclipse时,应自动添加依赖项。 但是,您应该输入以下命令生成eclipse项目文件:
mvn eclipse:m2eclipse
或者,如果你不使用m2eclipse:
mvn eclipse:eclipse
答案 9 :(得分:1)
这些都没有解决我的问题。但我所做的就是点击pom.xml,底部有一个名为dependencies的标签。在此选项卡中,它分为2个部分,一个称为依赖项,另一个称为依赖项管理。选择依赖项部分中的所有内容,然后单击“添加”以在依赖项管理控件下。关闭并重新打开你的项目。
答案 10 :(得分:1)
添加我的答案有几个原因:
帮助我的是Maven下的另一个选项叫做&#34;更新项目&#34;然后当我点击它时,会打开一个窗口,其中有一个复选框,上面写着&#34;强制更新快照/版本&#34;。这个复选框的真正目的是不同我知道,但它以某种方式解决了依赖问题。
答案 11 :(得分:1)
对于较新的Eclipse版本(&gt; = Mars),右键单击项目&gt;配置&gt;转换为Maven项目
答案 12 :(得分:1)
我有一些轻微的变化导致了一些问题 - 一个项目中的多个子项目。在这种情况下,我需要进入包含POM的每个单独的文件夹,执行mvn eclipse:eclipse命令,然后手动将类路径条目复制/合并到我的项目类路径文件中。
答案 13 :(得分:0)
确保您的POM遵循命名约定,并以小写字母命名为pom.xml
而不是POM.xml
。
在我的情况下,一切都是正确的,但Eclipse在尝试右键单击时仍抱怨Update project configuration
- 告诉我POM无法读取。将名称更改为小写 - pom.xml
来自POM.xml
- 并且有效。
答案 14 :(得分:0)
我也遇到了这个问题。当我在//this is called a PLT stub and it's actually assembly
static myfnptr_t real_addr;
if (real_addr)
real_addr(args...);
else
if(0==(real_addr = call_dynamic_linker(symbol_name))
print_error_and_exit_program();
中添加依赖项时,我检查了本地文件夹pom.xml
并且已经在那里下载了jar,但是没有添加eclipse的构建路径。
我的日食版本: Mars.2发布(4.5.2)
右键单击项目&gt; Maven &gt; 启用工作区解析
这解决了我的问题。
答案 15 :(得分:0)
通常,您可以从工作项目中复制.classpath文件,因为这里没有任何项目特定,假设您的结构是标准的Maven项目。
答案 16 :(得分:0)
这在Eclipse Oxygen(4.7.0)中对我有用:
右键单击Project - &gt; Maven - &gt;选择Maven Profiles ...然后选中Repository Proxy框,按OK。
答案 17 :(得分:0)
也许你可以调查maven-eclipse-plugin而不是M2Eclipse。
你基本上将maven-eclipse-plugin配置添加到pom.xml中,然后执行mvn eclipse:eclipse
,这将为Eclipse生成所需的.project
和.classpath
文件。然后,您将在Eclipse中拥有正确的构建路径。