Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环相关项目的Eclipse m2e插件问题_Eclipse_M2eclipse - Fatal编程技术网

循环相关项目的Eclipse m2e插件问题

循环相关项目的Eclipse m2e插件问题,eclipse,m2eclipse,Eclipse,M2eclipse,我对周期相关项目的m2e插件有一个问题 首先,我知道循环依赖是不好的,maven也不允许循环依赖,应该避免循环依赖,等等。但是我们的遗留项目在没有项目结构改变的情况下被mavenized,循环依赖继续 以前,将每个项目添加到其他项目生成路径并将循环依赖项生成路径问题设置为警告是解决方案。这样,我可以在一个项目中进行更改,并立即在另一个项目中看到效果 现在项目已经被mavenized了,我希望通过选中Resolve dependencies from workspace projects选项启用m

我对周期相关项目的m2e插件有一个问题

首先,我知道循环依赖是不好的,maven也不允许循环依赖,应该避免循环依赖,等等。但是我们的遗留项目在没有项目结构改变的情况下被mavenized,循环依赖继续

以前,将每个项目添加到其他项目生成路径并将循环依赖项生成路径问题设置为警告是解决方案。这样,我可以在一个项目中进行更改,并立即在另一个项目中看到效果

现在项目已经被mavenized了,我希望通过选中Resolve dependencies from workspace projects选项启用m2e工作区解析来实现相同的工作区环境

在eclipse neon版本:neon.3版本4.6.3构建id:20170314-1500和m2e版本1.7.0.20160603-1933中,这是可能的。尽管构建路径中存在循环,但相应的maven依赖关系是从工作区项目中解决的

但是,在eclipse 2019-09 R版本:2019-09 R 4.13.0构建id:20190917-1200以及m2e版本1.13.0.20190716-1624和更高版本中,构建会导致无限循环。 对于两个循环项目,我的项目A和我的项目B分别具有maven工件ID MYPROJECTAARTIFACTID和MYPROJECTBARTIFACTID,下面是2019-09 R版本无限构建的m2e日志,我无法从neon版本收集日志

再说一遍,我知道maven本身不允许循环项目设置,但在general eclipse中,即使对于具有maven特性的项目,也允许循环项目设置

如何在最新的eclipse版本中实现相同的功能

2020-05-22 21:19:26,588 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.builder.MavenBuilder - Building project MY PROJECT B
2020-05-22 21:19:26,683 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\MAVEN_REPONEW
2020-05-22 21:19:26,697 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.ProjectRegistryManager - Refreshing: [L/MY PROJECT B/pom.xml]
2020-05-22 21:19:26,709 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\MAVEN_REPONEW
2020-05-22 21:19:26,712 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Reading 1 Maven project(s): [D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml]
2020-05-22 21:19:26,764 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultUpdatePolicyAnalyzer - Skipped remote request for ...
2020-05-22 21:19:26,868 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Read 1 Maven project(s) in 156 ms
2020-05-22 21:19:27,036 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.m.MavenMarkerManager - Created marker 'GroupId is duplicate of parent groupId' on resource '/MY PROJECT B/pom.xml'.
2020-05-22 21:19:27,043 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\MAVEN_REPONEW
2020-05-22 21:19:27,086 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loading lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:27,670 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.c.DefaultDependencyCollector - Dependency collection stats: {ConflictMarker.analyzeTime=637200, ConflictMarker.markTime=709300, ConflictMarker.nodeCount=118, ConflictIdSorter.graphTime=487300, ConflictIdSorter.topsortTime=290200, ConflictIdSorter.conflictIdCount=45, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=3881500, ConflictResolver.conflictItemCount=72, DefaultDependencyCollector.collectTime=398895400, DefaultDependencyCollector.transformTime=7801200}
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loaded lifecycle mapping in 699 ms for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - MY PROJECT B is configured by :
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.jdt.javaConfigurator
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.java.unsupportedDependencyTypeConfigurator
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jpa.configurator.jdt
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.utility.configurator
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.webfragment.configurator
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.sonatype.m2e.mavenarchiver.jararchiverconfigurator
2020-05-22 21:19:27,785 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jaxrs.configurator
2020-05-22 21:19:27,786 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.DefaultMavenDependencyResolver - Resolving dependencies for P/MY PROJECT B: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT
2020-05-22 21:19:27,786 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Reading Maven project: D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml
2020-05-22 21:19:27,790 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultUpdatePolicyAnalyzer - Skipped remote request for com.my.company:... locally cached metadata up-to-date.
2020-05-22 21:19:28,529 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.c.DefaultDependencyCollector - Dependency collection stats: {ConflictMarker.analyzeTime=925200, ConflictMarker.markTime=269600, ConflictMarker.nodeCount=328, ConflictIdSorter.graphTime=1694200, ConflictIdSorter.topsortTime=470600, ConflictIdSorter.conflictIdCount=88, ConflictIdSorter.conflictIdCycleCount=48, ConflictResolver.totalTime=7407900, ConflictResolver.conflictItemCount=309, DefaultDependencyCollector.collectTime=730670400, DefaultDependencyCollector.transformTime=10784800}
2020-05-22 21:19:28,539 [Worker-7: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/MY PROJECT A: com.my.company:MYPROJECTAARTIFACTID:1.0.1-SNAPSHOT with classifier  to /MY PROJECT A/target/classes
2020-05-22 21:19:28,598 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Read Maven project: D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml in 812 ms
2020-05-22 21:19:28,598 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.DefaultMavenDependencyResolver - Resolved dependencies for P/MY PROJECT B: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT in 812 ms
2020-05-22 21:19:28,600 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\MAVEN_REPONEW
2020-05-22 21:19:28,601 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loading lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,607 [Worker-1: Decoration Calculation] DEBUG o.e.j.i.storage.file.FileSnapshot - file=C:\Program Files\Git\etc\gitconfig, isRacyClean=false, read=2020-05-22 21:18:57.612000000, lastModified=2020-04-28 20:51:11.602527000, delta=2075266009473000 ns, racy<=2500000000 ns
2020-05-22 21:19:28,607 [Worker-1: Decoration Calculation] DEBUG o.e.j.i.storage.file.FileSnapshot - file=C:\Program Files\Git\etc\gitconfig, is unmodified
.......
2020-05-22 21:19:28,677 [Worker-7: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loaded lifecycle mapping in 77 ms for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - MY PROJECT B is configured by :
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.jdt.javaConfigurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.java.unsupportedDependencyTypeConfigurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jpa.configurator.jdt
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.utility.configurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.webfragment.configurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.sonatype.m2e.mavenarchiver.jararchiverconfigurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jaxrs.configurator
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.DefaultMavenDependencyResolver - Resolving dependencies for P/MY PROJECT B: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT
2020-05-22 21:19:28,678 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Reading Maven project: D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml
2020-05-22 21:19:28,689 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.c.DefaultDependencyCollector - Dependency collection stats: {ConflictMarker.analyzeTime=288800, ConflictMarker.markTime=102300, ConflictMarker.nodeCount=328, ConflictIdSorter.graphTime=336300, ConflictIdSorter.topsortTime=260900, ConflictIdSorter.conflictIdCount=88, ConflictIdSorter.conflictIdCycleCount=48, ConflictResolver.totalTime=3849800, ConflictResolver.conflictItemCount=309, DefaultDependencyCollector.collectTime=5078800, DefaultDependencyCollector.transformTime=4849700}
2020-05-22 21:19:28,697 [Worker-7: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/MY PROJECT A: com.my.company:MYPROJECTAARTIFACTID:1.0.1-SNAPSHOT with classifier  to /MY PROJECT A/target/classes
2020-05-22 21:19:28,739 [Worker-7: Building Workspace] DEBUG o.e.m.c.internal.embedder.MavenImpl - Read Maven project: D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml in 61 ms
2020-05-22 21:19:28,739 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.DefaultMavenDependencyResolver - Resolved dependencies for P/MY PROJECT B: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT in 61 ms
2020-05-22 21:19:28,740 [Worker-7: Building Workspace] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\MAVEN_REPONEW
2020-05-22 21:19:28,741 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loading lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - Loaded lifecycle mapping in 63 ms for MavenProject: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT @ D:\LOCALGITREPOS\CYCLE_2019\MYPROJECTBARTIFACTID\MY PROJECT B\pom.xml.
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory - MY PROJECT B is configured by :
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.jdt.javaConfigurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.java.unsupportedDependencyTypeConfigurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jpa.configurator.jdt
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.utility.configurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.maven.ide.eclipse.configuration.wtp.webfragment.configurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.sonatype.m2e.mavenarchiver.jararchiverconfigurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.l.LifecycleMappingFactory -  - org.eclipse.m2e.wtp.jaxrs.configurator
2020-05-22 21:19:28,804 [Worker-7: Building Workspace] DEBUG o.e.m.c.i.p.r.DefaultMavenDependencyResolver - Resolving dependencies for P/MY PROJECT B: com.my.company:MYPROJECTBARTIFACTID:1.0.1-SNAPSHOT
................
---------------编辑1-------------


示例项目添加到github,用于复制问题。它在最新的eclipse版本2020-03 4.15.0构建id:20200313-1211中也失败了。eclipse允许编译具有循环依赖关系的多个项目。但是在这里,解析Maven依赖关系会导致无限循环,这是另一回事。为了解析和下载依赖项,Eclipse使用Eclipse IDE附带的嵌入式Maven

因为Maven不允许循环依赖,所以您也不能从命令行构建它。在Eclipse中,通过手动将另一个项目添加到Java构建路径中,并允许Java编译器使用循环依赖关系,它将在pom.xml文件中没有对另一个项目的无效Maven依赖关系的情况下工作。但是这些手动设置将在Maven>Update Project上被覆盖

如果要使用Maven构建项目,有两个选项:

将所有内容放在单个Maven项目中,可能有多个源文件夹。您可以在后处理步骤中将构建的JAR拆分为几个JAR。这与多个循环相互依赖的项目具有相同的缺点:如果不是所有依赖项的整个代码都在类路径上,那么在运行时可能会缺少内容。 消除循环。根据我的经验,这是我的建议,因为从长远来看,投入数周的时间可能会有回报,而且模块化代码比意大利面代码更有趣。
如何在最新的eclipse版本中实现相同的功能?← 至少您必须为此安装最新的Eclipse版本。使用过时的软件也是不好的。由于涉及两个项目和多个文件,请给出一个在当前Eclipse版本中重现您的问题的最小示例,将其放入公共Git存储库并链接到它。@howlger感谢您的回复。根据您的要求,我在添加了一个最小的复制器项目。请注意,最新版本2020-03 4.15.0构建id:20200313-1211也会失败。我附上了两个版本的m2e日志。谢谢…Eclipse允许编译具有循环依赖关系的多个项目。但在这里,解决Maven依赖关系会导致无限循环,这是另一回事。因为Maven不允许循环依赖,所以您也不能从命令行构建它,对吗?在Eclipse中,它可以在没有无效依赖项和手动配置Java构建路径的情况下工作。在命令行上使用Maven构建项目是一项要求,还是您想滥用Maven只管理依赖关系?@howlger感谢您的回复。让我简要介绍一下造成这种丑恶局面的原因。在我们的代码库中,有20多个具有循环依赖关系的高度耦合项目,所有这些项目都是一个相当古老的20年以上的整体系统的基础设施组件。以前,项目构建是在代码提交后通过EclipseJAR导出在开发人员计算机上本地执行的。一个现代化项目开始了,最重要的关注点是通过一个标准的构建工具(碰巧是maven)执行服务器端构建…@howlger再次感谢您的宝贵建议。所以据我所知,在以后的版本中没有办法保留旧的可能有缺陷的行为?我是 还在想霓虹灯是怎么处理的。。。顺便说一句,如果你愿意的话,你可以把你的评论作为我接受的答案。当做