我正在尝试首次使用这个Sonatype Eclipse插件来处理一个现有的(巨大的)软件,我可以使用maven从命令行构建。
我已将插件配置为使用我的maven 2.2.1安装而不是内置的Maven 3。
在Eclipse中,我有25个项目(通过root pom.xml加载),其中4个有编译错误; maven控制台包含很多像这样的行:
缺少工件commons-logging:commons-logging:jar:1.0.4:compile
我的存储库中有所有jar,并正确定义了M2_REPO类路径变量。为什么插件没有看到所有的罐子?
这些项目的.classpath文件只引用“MAVEN2_CLASSPATH_CONTAINER”,没有jar列表。 Eclipse中的pom.xml在缺少的jar的第一行显示错误,但我可以从命令行构建!
有什么想法吗?我需要帮助!如果我不解决这个问题,我会尝试迁移到NetBeans。
谢谢。
答案 0 :(得分:12)
您可能需要告诉Eclipse强制更新:
Project -> Maven -> Update Maven Project
然后确保您已选择:
Force Updates of Snapshots/Releases
当mvn安装将一些jar文件复制到Maven存储库中时,会发生这种情况,并且Eclipse已经在此jar被复制之前检查了此repo。
答案 1 :(得分:7)
如果在Eclipse中出现上述问题时启用了依赖关系管理,则可以Project > Maven > Disable Dependency Management and then \Project > Maven > Enable Dependency Management
。这通常会删除pom.xml中的任何依赖项错误。
在上述步骤完成项目依赖项后,@ Nishant在上面的回答中也表示了这一点。
答案 2 :(得分:5)
right click on your project > Maven > Update Dependencies
然后
right click on your project > Maven > Update Project configuration
假设您正确安装了M2Eclipse插件,这应该可以解决问题。另外,检查是否有选项right click project > Maven > Enable dependency Management
选择它。
答案 3 :(得分:2)
使用Eclipse Kepler,删除和重新添加maven性质修复了我遇到的同样问题。这个过程实际上做的是修改.settings / org.eclipse.m2e.core.prefs文件,更改行
resolveWorkspaceProjects=false
到
resolveWorkspaceProjects=true
因此,如果必须,您可以手动进行此更改。
答案 4 :(得分:2)
为未来的Google员工添加我的2c:
每当出现此问题时,我会从m2存储库中删除相应的文件夹(在~/.m2/repository)
上的mac上,然后使用clean install
从eclipse再次构建。
每次都有效。
答案 5 :(得分:1)
关闭eclipse IDE并再次打开它,这个问题应该修复。
答案 6 :(得分:0)
构建路径中缺少jar表示您尚未启用Maven依赖项。右键单击项目,选择Maven,选择“启用Maven依赖关系管理”。这允许M2Eclipse引用您的POM。
答案 7 :(得分:0)
我终于找到了解决方法。这肯定是m2eclipse中的一个错误,但是当我在quartz-1.6.0.pom
quartz-1.6.0.jar
旁边添加.m2\repository\opensymphony\quartz\1.6.0\
时问题就消失了
pom不在http://repo1.maven.org/maven2/opensymphony/quartz/1.6.0/,但你可以在http://jira.opensymphony.com/browse/QUARTZ-482 quartz-1.6.0-bundle.jar
链接中提取它
这是一个奇怪的解决方案,但它也适用于我同事的个人电脑。
答案 8 :(得分:0)
其他建议都没有奏效,但以下步骤对我有用(SpringSource Tool Suite 2.6.1):
答案 9 :(得分:0)
如果禁用和启用项目依赖关系管理没有帮助(通常有帮助),您可以修改项目中的.classpath文件并添加一行:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
在eclipse之后,应该添加依赖项。
答案 10 :(得分:0)
我遇到了同样的问题。在CLI清理安装上,然后在eclipse上删除依赖项,再次粘贴它,这就行了。
答案 11 :(得分:0)
删除除maven本地存储库中的jar之外的所有工件
答案 12 :(得分:0)
最新答案:就我而言,我在settings.xml中有多个配置文件。自从在Maven Build运行配置中选择了正确的配置文件以来,Build就可以正常工作,但是编辑器显示错误,因为未通过Project-> Maven-> Select Maven Profiles选择该配置文件。