类path条目org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER不会被导出
在Eclipse中我得到这个警告:
类path条目org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER不会被导出或发布。 可能会导致运行时ClassNotFoundExceptions
search后,我发现我需要修复导出。 我做的。
但是这个警告依然存在! 还有什么可以解决它呢? 谢谢。
我已经尝试了两个选项,但只有后者是你所需要的:
- 将关联的原始类path条目标记为发布/导出依赖项
- 从潜在的发布/导出依赖关系中排除关联的原始类path条目
如果导出依赖项,通过Maven – > Update Project Configuration上下文菜单刷新项目configuration会导致警告返回。 在这种情况下,您需要手动编辑.classpath文件:
<classpathentry kind="con" exported="true" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry>
只需删除属性exported="true"
并通过刷新项目configuration来确认。
您可以右键单击警告,selectquickfix并select以下选项之一:
- 将关联的原始类path条目标记为发布/导出依赖项。
- 从潜在的发布/导出依赖关系中排除关联的原始类path条目。
因为你不会有eclipse发布/导出项目,所以排除它是安全的。 但无论如何,这没有什么区别
我有同样的问题; 包括后它消失
<packaging>war</packaging>
在pom。 根本没有包装。
在某些情况下,Eclipse会向您显示以下警告:
Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result.
所以解决这个问题,请执行以下操作
Open the properties of the project that generates this warning Click on “Java Build Path” Click on the tab “Order and Export” Enable “Maven Dependencies” Click on “Ok” Open the “Problems” view Select the warning we are trying to solve, and press “Ctrl-1″ Click on “Ok”
问题现在已经解决了。 警告消失可能需要一些时间,因为项目在它消失之前需要重build。
我无法解决Eclipse Luna中的quickfix问题。 删除Project Facet“Dynamic Web _Module”后,问题消失。 在Windows中 – >首选项 – >项目构面。
PS包装作为战争也解决了发布,但它被认为是一个JAR,我感到困惑,为什么一些项目工作好,有些没有。
顺便说一下,警告是真实的。 它在服务器中导致了一个ClassNotFoundExceptionexception,当其他项目引用此exception时,该exception是不可用的。
包括目前被接受的答案在内的大多数答案仅仅为这个问题提供了一个临时的解决scheme:每次我selectMaven> Update Project … 并且select“从pom.xml更新项目configuration”时,警告就回来了。
然而,在Eclipse 4.5(Mars)中安装了m2e-wtp - Maven Integration for WTP
,再次发布Update Project …,同时select了该选项,警告(以及由此产生的错误)就消失了。
添加到pom.xml中:
<properties> <java.version>1.8</java.version> </properties>
在这种情况下帮助我,也与dynamicWeb模块和其他问题。
我有一个简单的方法来解决这个问题:
- 从Eclipse中删除项目。
- 进入项目所在的工作空间。
-
删除下图中select的项目。 只要离开
src
和pom.xml
。 -
在Eclipse中重新导入项目。
只需右键单击警告并快速修复
然后,您可以查看源代码pipe理中的.classpath文件更改
窗口,首选项,validation,类path依赖项validation程序,取消选中手动和生成
就像大多数的日食validation一样,这个问题已经被破坏了。
这是在Eclipse中configuration的Maven项目的典型问题,即更改configuration或保存不当。
通常我会编辑我的.classpath文件并检查构buildpath的引用等
所以在你的情况下,我认为你需要删除你的classpatterntry与那些org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER引用里面。