在安装了Buildship的全新Eclipse IDE中,我遇到了所有Gradle项目中下列错误:
“缺少Gradle项目配置文件:.settings/org.eclipse.buildship.core.prefs”。
虽然谷歌上有几页处理此问题的页面,但它们似乎都非常过时。插件的漏洞跟踪器中也有一条已标记为“CLOSED FIXED”的记录。显然,并未修复该问题。
我是否做错了什么?有任何想法如何解决这个问题吗?
文件 -> 导入 -> 一般 -> 现有项目导入工作区
命令导入gradle项目,那么就会产生错误并出现上述错误。文件 -> 导入 -> Gradle -> 现有Gradle项目
导入完全相同的项目,则会获得一个不同的导入向导,并且使用此向导,它可以像魅力一样运行。另一个选项是:
sh gradlew cleaneclipse
Win: gradlew cleaneclipse
需要在您的build.gradle
中apply plugin: 'eclipse'
sh gradlew eclipse
Win:gradlew eclipse
现在您的eclipse-project中将缺少gradle nature。 打开你的project -> configure -> add gradle nature
上下文菜单
现在一切都应该没问题了。
NamedDomainObjectCollection
中,他们写到 equals
用于名称匹配。所以也许 Buildship 覆盖了 equals
,为了给我们添加一些便利。 :-) - SWiggels我认真地寻找解决方案,但只找到了一些变通方法。Alan47的解决方案为我创建了文件,但在我的情况下无法正确创建项目。所以我只是复制了创建的文件,并以默认方式再次导入了项目:
File -> Import -> General -> Existing Project into Workspace
并将文件再次复制粘贴到目录中
./.settings
文件名称:org.eclipse.buildship.core.prefs
文件的内容仅为:connection.project.dir=
eclipse.preferences.version=1
connection.project.dir
设置可能会有所不同。 - rghome正如oehme (Stefan Oehme - 核心开发者)在这里所说的一样:
https://github.com/eclipse/buildship/issues/504
"Buildship不能重新创建该文件,因为它无法知道您的根项目是什么(Gradle支持任意项目布局)。 您应该将设置文件检入或不检入任何Eclipse文件。 不支持同时检入.project并省略.settings。"
或者在这里 (Stefan Oehme - 核心开发者):
https://discuss.gradle.org/t/do-i-need-to-check-in-settings-org-eclipse-buildship-core-prefs-file/22457/2:
"如果您已经有带有buildship nature的.checked in .project文件,但没有检入的设置文件,则会发生这种情况。 选择是同时检入两个文件或都不检入,并使用Gradle导入向导。"
仅使用鼠标的最简解决方案 如下:
在每个步骤之后:1,2,3,4 让Eclipse进行更新工作,请不要快速推送它。
其他解决方案是将文件保存在某个地方,然后将其再次粘贴到项目中或手动从头开始创建,然后执行:右键单击项目 > Gradle > 刷新Gradle项目。
有用的细节:
文件名:org.eclipse.buildship.core.prefs
文件通常编码:ISO_8859_1
文件路径:./setting/org.eclipse.buildship.core.prefs
文件内容,一行:connection.project.dir = eclipse.preferences.version=1
在IDE中右键单击您的项目名称,选择属性(Properties)> 项目性质(Project Natures)> 在右侧窗格上选择 Gradle项目性质
> 删除 > 应用并关闭(Apply and Close)
在IDE中右键单击您的项目名称,选择配置(Configure)> 添加Gradle性质(Add Gradle Nature)
给Gradle几秒钟与IDE同步,.settings
文件将自动生成在项目根目录下。
在问题(Problems)
视图中删除错误。
./android
文件夹。如果你是Mac用户,请将以下内容复制到终端:touch "org.eclipse.buildship.core.prefs"; echo "connection.project.dir=
eclipse.preferences.version=1" >> org.eclipse.buildship.core.prefs
./android/app
文件夹中。touch "org.eclipse.buildship.core.prefs"; echo "connection.project.dir=..
eclipse.preferences.version=1" >> org.eclipse.buildship.core.prefs
org.eclipse.buildship.core.prefs
,因为提交的用户甚至没有使用 Buildship。问题是:org.eclipse.buildship.core.prefs
是否可以安全地提交到版本控制中? - Markus Pscheidtorg.eclipse.buildship.core.prefs
不是放置在项目的.settings
文件夹里吗? - Markus Pscheidt.metadata
中。我总是把.settings
加入到gitignore中。所以也许可以将org.eclipse.buildship.core.prefs
检查到版本控制中。我不知道里面是否存在任何绝对路径或其他依赖项,如果在另一台计算机上检出会导致问题。个人建议最好避免这样做。 - Martin Häusler