Java Eclipse和Gradle类路径不同步:无法解析为类型
我们的Eclipse工作区遇到了令人沮丧的问题。下面是正在发生的事情的高级示例: 项目AJava Eclipse和Gradle类路径不同步:无法解析为类型,java,eclipse,gradle,Java,Eclipse,Gradle,我们的Eclipse工作区遇到了令人沮丧的问题。下面是正在发生的事情的高级示例: 项目A --src/main/java/… --格雷德尔先生 项目b --src/main/java/… --格雷德尔先生 运行gradle eclipse并将项目导入eclipse后,我们偶尔会得到“MyType无法解析为类型”,即使以下情况属实: 我们的项目在其类路径上有Gradle库容器 项目在其Gradle容器中具有正确的工作区项目 像CTRL+Click这样的操作可以从显示为红色下划线的类型(即编译错误
--src/main/java/…
--格雷德尔先生 项目b
--src/main/java/…
--格雷德尔先生 运行
gradle eclipse
并将项目导入eclipse后,我们偶尔会得到“MyType无法解析为类型”,即使以下情况属实:
- 我们的项目在其类路径上有Gradle库容器
- 项目在其Gradle容器中具有正确的工作区项目
- 像CTRL+Click这样的操作可以从显示为红色下划线的类型(即编译错误)中执行,这意味着Eclipse确切地知道如何访问这些类型,但编译器无法找到它们
- 命令行Gradle按预期构建工作
- Eclipse中的项目>清理
- 梯度日食还是梯度日食
- 重新导入项目
- 等
- 使用Gradle版本2.2.1
- 月食和火星月食都会发生
- 使用jdk8
其他人在Eclipse和Gradle项目中有过这些类型的编译问题吗?此类问题的一个来源可能是让Gradle生成Eclipse项目元数据/设置文件(运行
Gradle Eclipse
)。我知道Maven和Gradle团队确实希望他们的工具(Maven或Gradle)能够生成这些东西,但他们在这方面做得并不理想。例如,上次我使用Gradle时,它将.classpath配置为使用硬编码的JRE库路径,而不是首选的执行环境。这种生成文件的差劲工作让开发人员头疼
相反,Eclipse建议您手动配置项目(大部分情况下),只让Gradle管理其类路径容器,然后将Eclipse.project、.Classpath和.settings文件/文件夹检入SCM(svn、git等)。这样,将项目签出到工作区的过程是自动的,不需要一直运行gradleeclipse
或mvneclipse:eclipse
这就是Eclipse项目最初设计和管理的方式,它工作得非常好。我曾在非常大的项目上使用过类似的设置(Eclipse中有100多个独立的项目,还有几十个开发人员)。它还减少了从零到运行应用程序的步骤数
这是Maven/Gradle和Eclipse之间的哲学差异之一;说到这里,依我看,IDE应该管理它的东西,而构建/依赖工具应该置身事外
尝试在项目配置中手动获取正确的内容,然后签入这些文件-看看这是否能缓解团队在这方面面临的难题。此外,演示如何使用
构建。gradles
@Jared Burrows,这应该是一个建设性的评论吗?我不知道为什么我不为Android开发的时候应该使用Android Studio。另外,我不使用IntelliJ,因为我需要的插件在Eclipse中。你能在Eclipse中刷新项目(F5)吗?@Robert,不幸的是,不能。刷新似乎不会改变任何东西。@Ded19它不仅仅是一种建设性的功能。您正在使用Gradle
和Gradle
的构建结构,为什么不使用自然支持它的IDE
?您在Eclipse
中需要哪些插件,而这些插件您在Intellij
中没有或无法获得?谢谢您的回答。我今天正在做这个实验。为我的团队实现了这些变化。它工作得很好。非常感谢。从命令行运行mvneclipse:eclipse,然后右键单击eclipse->Refresh中的项目。赞成eclipse:eclipse任务已经退役并被淘汰,这是有充分理由的。我在任何情况下都不会使用它。另外,自Eclipse以来,它不太可能与较新版本的Eclipse一起工作:Eclipse已经有一段时间没有维护了。