在Eclipse项目中缺lessMaven依赖项

我们有一个用maven来解决依赖的项目。 它通常工作正常,但现在我正试图编译和运行在一台新的PC上,我有在Eclipse中缺less依赖关系的问题。

有趣的是,如果我在控制台或eclipse中运行“mvn package”,它可以正常工作,甚至会产生包含所有必需的jar的战争。 只有Eclipse抱怨“该项目没有构build,因为它的构buildpath不完整,无法findorg.slf4j.Logger的类文件…”。 如果我将项目与其他计算机(项目工作正常)进行比较,我注意到Eclipse中列出的“Maven依赖关系”下有不less库。 尽pipe他们在打包的战争中,他们也可以在存储库文件夹下find。

所以,jar-s就在那里,Eclipse将不会在“Maven dependencies”下列出它们。 我能做什么?

电脑运行在64位Java和Eclipse的Windows 7上。

问题解决了!

我不知道究竟是怎么解决的,但是我在Eclipse中做了4件事:

  • Window-> Preferences:Maven-> Installations:全局设置 – >打开文件和硬编码的localRepository
  • 项目 – >清除
  • 右键单击项目:Maven->更新依赖项
  • 右键单击项目:Maven->更新项目configuration

我想这是更新依赖关系,因为后两个没有改变。

好吧,我尝试了一切张贴在这里,不幸的是,在我的情况下工作。 所以,尝试不同的组合,我用这个解决了我的问题。

1)在eclipse项目的根目录下打开.classpath文件。

2)将以下条目插入文件中:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry> 

然后,在eclipse中重build你的项目(Project-> Clean-Build)。 现在,您可以在Libraries选项卡的Maven Dependencies中检查Java项目的Java Build Path项目: 在这里输入图像描述

我也是Eclipse的新手,而且我也遇到了一个类似的问题,即使所有的迹象都表明依赖被成功下载,Eclipse也不会识别导入语句。

你应该检查你的依赖文件是否已经被下载到命令行并input

mvn dependency:tree

如果你在那里看到你的包,但是Eclipse不承认它,对我有用的东西(有时)是去terminal,cd进入项目文件夹,然后键入

mvn eclipse:clean然后mvn eclipse:eclipse

最后在eclipse中刷新项目

我不知道为什么这个工作,有时它不工作一次,然后再做这个工作…所以值得一试!

我的项目只是搞砸了。 下面是我为Eclipse Indigo x64(J2EE 3.7.3)修复它的方法:

  1. 删除我的POM文件(当然是备份)。
  2. 项目上下文菜单 > Maven > 禁用Maven自然
  3. 删除项目(但不是磁盘上的内容)。
  4. 重新导入为导入 > 常规 > 现有项目
  5. 项目上下文菜单 > configuration > 转换到Maven项目…。
  6. 接受来自Maven向导的默认值。
  7. 用你的备份POM覆盖POM。 (现在你有Maven的依赖文件夹 )。
  8. Maven更新/清理的好措施。

希望能帮助别人。 🙂

对于在其他项目中创build的依赖关系,我有这个问题。 下载的第三方依赖项在构buildpath中显示正常,但不是我创build的库。

SOLUTION:在没有正确构build的项目中,

  • 右键单击该项目,然后select“属性”,然后select“Maven”。

  • 取消选中“ 从Workspace项目parsing依赖关系 ”框

  • 点击应用,然后确定。

  • 再次右键单击您的项目,并执行Maven->更新快照(或更新依赖项)

当你的项目重build时,你的错误应该消失(如果你已经启用了自动构build,这个错误会自动消失)。

为了防止任何人尝试了所有其他选项,并且仍然卡住,请尝试右键单击项目文件夹,转到Maven选项并单击“添加依赖关系”button。 出于某种原因,Eclipse没有在第一次尝试时从pom.xml手动更新依赖关系。

菜单选择的屏幕截图

所以我在这个派对迟了大约4到5年,但是从我们的回购之后,我遇到了这个问题,而我的这个线索的其他解决scheme都没有解决这些警告/错误。

这对我工作:

从Eclipse转到窗口 – >首选项 – > Maven(展开) – >错误/警告。 最后一个选项显示“插件执行不在生命周期configuration中” – 使用该选项的下拉菜单,并切换“忽略”,然后点击应用,然后点击确定。 (在“需要更新Maven项目”提示说OK)。

更多信息:

这可能不一定“解决”潜在的问题,也可能不被某些人认为是“最佳实践”,但它应该删除/禁止这些警告出现在Eclipse中,并让您至less前进。 具体来说 – 我正在使用Arch Linux和OpenJDK 1.7上运行的Eclipse Luna Service Release 1(4.4.1)w / Spring Dashboard&Spring IDE Core(3.6.3)和m2e(1.5)。 我将项目导入为现有的Maven项目,并在警告现有警告/错误(稍后处理)时selectOK。

禁止/删除“插件执行不包括...”警告Eclipse-Maven

(对不起,我不是devise师,但为了清晰起见添加了图片。)

对于我的情况下的以下步骤:

1在eclipse上,右键单击所需项目Maven – >禁用Maven Nature

2再次右键单击,然后转到属性 。 删除外部Maven依赖项的所有证据,只留下JRE系统库。

3再次右键单击项目,然后转到configuration – >转换为Maven项目

我有一个类似的问题。 我通过运行Maven-> Update Project Configuration操作来解决这个问题

对我来说问题是maven无法find位于myMavenFolder \ conf中settings.xml文件。

我所做的解决这个问题是从eclipse中selectsettings.xml文件的正确位置:
窗口 – >首选项 – > Maven – >用户设置

最后,点击应用并更新您的项目

好吧,我尝试了一切张贴在这里,不幸的是,在我的情况下工作。 所以,尝试不同的组合,我用这个解决了我的问题。

1)在eclipse项目的根目录下打开.classpath文件。

2)将以下条目插入文件中:

 <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry> 

然后,在eclipse中重build你的项目(Project-> Clean-Build)。

如果在执行Maven – >更新项目configuration(或在Juno中它是“更新configuration…”)后出现“嵌套path”错误,则构buildpathconfiguration错误。

右键单击项目 – >构buildpath – >configuration构buildpath

确保只包含“/ src”和该级别的目录。 如果你有例如'/ src'和'/ src / main / resources',这是不正确的。 第二个资源('/ src / main / resources')在第一个('/ src')之下是嵌套的,导致你无法导入资源,因为它阻止了eclipse看到maven依赖。

我的问题听起来很相似,所以我会join讨论。 我已经取消了现有的Maven项目导入Eclipse,导致它不被允许更新,并不会正确完成工作空间的build设。

我必须做的解决它是selectRun As... -> Maven build...和目标进入dependency:go-offline并运行。

然后我右键单击该项目,并selectMaven -> Update Project...并更新该特定项目。

这最终允许它创build源文件夹并完成导入。

我可以解决这个错误1)右键单击(你的Maven项目) – > Maven – > Maven的安装

安装成功后

2)右键单击(您的Maven项目) – > maven – >更新项目。 而maven的整个错误得到解决!

对我来说,在.project文件中添加一个buildCommand(org.eclipse.m2e.core.maven2Builder)和一个nature(org.eclipse.m2e.core.maven2Nature)就足够了,就像这样:

 <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>iText</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.m2e.core.maven2Builder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.m2e.core.maven2Nature</nature> </natures> </projectDescription> 

我有 在这里输入图像描述

上面的解决scheme都不适合我,所以这个答案是针对我的情况的任何人。 我最终自己发现了这个问题,并提出了另一个解决scheme pom.xml文件包含一个依赖关系的dependencyManagement标签,当存在的时候,M2Eclipse不会添加Maven Dependencies文件夹。 所以,我删除了这个标签,然后执行了Utter Jr.提供的解决scheme,Eclipse立即添加了丢失的文件夹!

这就是我解决它的方法

  • 窗口 – >首选项:Maven->用户设置(点击结果窗口中的“打开文件”,或者使用记事本等外部文本编辑器编辑settings.xml)确保localRepository(显示在此窗口中)是正确的。 我的文件中有一个错字。
  • 一旦你纠正了settings.xml,点击更新设置,这是在这个相同的首选项 – > Maven->用户设置屏幕上。

现在重build,它会将最新的JAR安装在正确的位置。

我有一个类似的问题,并尝试在这篇文章中的所有答案。 我最近解决这个问题是通过结合Joseph Lust和Paul Crease的解决scheme。 删除并重新导入项目后,我添加了备份的pom.xml文件,直到我删除了pom.xml中的依赖关系pipe理标记,神奇的依赖关系文件夹就出现了。

但是,由于它们需要父pom.xml依赖项pipe理来运行,所以它打乱了POM的子项,结果我的MVN无法从Eclipse或命令行正常运行,导致pom.xml错误。

最后一个解决scheme如果全部失败,则是手动导入项目所需的.jar文件。 右键单击项目属性 – > Java Build Path – > Libraries并添加外部Jar。

如果您的MVN从命令行正常工作,并且您已经成功构build了项目,那么在.m2 / repository文件夹中将需要所有的回购。 添加在你的pom.xml的依赖关系标签中提到的所有外部jar子,你会在Eclipse中看到一个被引用的库部分,所有麻烦的红色错误消失了。

这不是最佳的解决scheme,但它可以让你在Eclipse中工作,没有遗漏依赖的错误,也允许你从Eclipse和命令行构buildMaven项目。

这同样的问题发生在我身上,这是因为在回购问题下,由于在pom.xml显示红色标记而导致下载jar时出现错误。

我添加了另一个存储库,所以pom.xml红旗消失了,然后Eclipse再次加载了pom,解决了它的问题,并在Project Explorer中列出了maven依赖关系。 这听起来简单明了,但是由于Eclipse很乐意运行maven并且成功地构build,所以红旗和回购问题不是很明显,它不愿意parsingpom并列出maven依赖

 mvn eclipse:clean 

然后从日食:“Maven更新项目”诀窍!

更新下面的.classpath将每次工作。

 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" output="target/classes" path="src/main/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="WEB-INF/" kind="src" path="src/main/webapp"/> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="target/classes"/> </classpath> 

这个问题有如此多的原因和可能的解决scheme,真是太神奇了。 我发现了一个不同的解决scheme,为我工作。

那么,这不是一个解决scheme,而是一个发现:我可以看到Package Explorer中的Maven Dependencies节点,这是Java透视图的默认设置,但是在使用Project Explorer的Java EE透视图中看不到它默认。 这两位探险家看起来非常相似,所以你可能期望看到两个Maven的依赖。

当我想弄明白这一点的时候,我并没有意识到这一点,所以毕竟这对我来说不是什么问题。

整个项目看起来奇怪在日食,maven依赖关系文件夹丢失,它显示了一些types为未知,但我能够在maven成功地build立它。 什么解决了我的问题是添加gen文件夹到项目构buildpath上的源path。

可能是这个类似于这个Android / FBReaderJ / gen已经存在,但不是源文件夹。 转换为源文件夹或重新命名

在Eclipse STS中,如果“Maven Dependencies”消失了,你必须检查并修复你的pom.xml 。 我做了这个(两次),我解决了。 这不是一个依赖关系问题,而是一个string生成并随机移动到我的pom.xml

对于我的情况下的以下步骤:

1在eclipse上,右键单击所需项目Maven – >禁用Maven Nature

2再次右键单击,然后转到属性。 删除外部Maven依赖项的所有证据,只留下JRE系统库。

3再次右键单击项目,然后转到configuration – >转换为Maven项目

它也为我工作

我的答案类似于@JerylCook:在一个正在运行的Maven项目中find另一个.classpath文件,编辑你的坏的那个好的工作。 关键是添加

 <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> 

在typesconsrc每个<classpathentry>中。 不要忘记将<classpathentry .... />更改为<classpathentry ...>xxx</classpathentry>

最后,更新Maven项目并在maven中重新安装/重build。

以上都没有和我一起工作。 对于修复只是删除.m2下的存储库文件夹,然后从eclipse做一个maven更新。