是否需要通过 Eclipse GUI 和 Gradle 配置文件添加依赖项?
Do dependencies need to be added through both the Eclipse GUI and the Gradle configuration files?
需要使用 Eclipse IDE 在同一个存储库中创建两个 Gradle Git 项目。 项目 A 依赖于第三方库(JAR、源代码、Javadoc 和本机),项目 B 依赖于 项目 A.
如果没有 Gradle,将创建两个项目,并且 Git 将通过 Project Explorer > [Project Name] > Team > Share Project
启用。然后,将通过 Project Explorer > [Project Name] > Build Path > Configure Build Path
添加依赖项,然后是 Projects > Add
和 Libraries > Add External JARs
(这也将允许指定相关源代码、Javadoc 和本机的位置)。这将启用 Project A 从 Project B 的自动代码完成以及 Eclipse 中的源代码和 Javadoc 集成。
和Gradle,应该是settings.gradle还是build.gradle 文件可以手动编辑,无需通过 Eclipse GUI 添加依赖项,还是必须同时使用两者?此外,这如何影响哪些隐藏文件应该由 Git 索引(.project,.classpath, .settings, .gradle)?
如何通过 Eclipse 和 Gradle 进行设置?
当您使用像 Gradle(或 maven)这样的 build-tool 时,会假定 build-tool 负责配置内容比如项目依赖和类路径。
这种与 Eclipse UI 的冲突是一种 ui 允许您通过它自己的 ui.
管理类路径/依赖项
但 Eclipse UI 仅控制 Eclipse JDT 编译器编译您的代码时 eclipse 用作类路径的内容... inside Eclipse。
因此,如果您以这种方式进行更改,那么 Gradle 将不知道这些依赖关系,并且 build 将无法工作。
是的,这确实令人困惑 :-)
正确的做法是完全通过 gradle 管理您的依赖项和项目配置。所以这意味着编辑 build.gradle 和 settings.gradle.
工具(BuildShip 或 STS Gradle 工具)提供 'bridge' 以尝试根据您的 build 配置 Eclipse 项目。
例如,他们可能会在项目上下文菜单中提供 'Update Project' 或 'Refresh Dependencies' 命令。
即使您不使用 Gradle 工具,这种情况也适用。然后,您将使用 Gradle 的 'ecplise' 插件和 运行 类似
的命令
gradle cleanEclipse eclipse
从 build 配置生成 eclipse 项目配置。然后按照 gradle 配置将项目导入到 Eclipse 中。同样在这种情况下,使用 Eclipse UI 对 buildpath 进行更改是一个坏主意,因为最终它会遇到同样的问题,您对那些生成的文件所做的更改可能会使事情编译在 Eclipse 中,但 Gradle 不知道您更改了任何内容。下次你 运行 gradle cleanEclipse eclipse
你的改变也会被吹走。
关于您的具体问题:
should the settings.gradle or build.gradle files be manually edited ...
是的。
... without adding dependencies through the Eclipse GUI ...
是的。
... or must both be used simultaneously?
不,只配置 gradle 中的东西。然后 'synch it up' 使用一些工具进行 eclipse (BuildShip / STS Gradle / gradle cleanEclipse eclipse
)
How does this effect which hidden files should be indexed by Git (.project, .classpath, .settings, .gradle)?
一般经验法则。仅索引定义 gradle 行为的内容(可能有一些例外,但通常尽量减少它们,只有在有充分理由的情况下才违反此规则)。
所以特别不要输入 git 这些 'eclipse metadata'
- .设置
- .项目
- .类路径
请放入 git:gradle 包装器及其属性文件。
Gradle 还有一个 .gradle
文件夹。它属于gradle,不属于eclipse,而是属于'transient' 的缓存和东西。你也不想要 git 中的那些。
需要使用 Eclipse IDE 在同一个存储库中创建两个 Gradle Git 项目。 项目 A 依赖于第三方库(JAR、源代码、Javadoc 和本机),项目 B 依赖于 项目 A.
如果没有 Gradle,将创建两个项目,并且 Git 将通过 Project Explorer > [Project Name] > Team > Share Project
启用。然后,将通过 Project Explorer > [Project Name] > Build Path > Configure Build Path
添加依赖项,然后是 Projects > Add
和 Libraries > Add External JARs
(这也将允许指定相关源代码、Javadoc 和本机的位置)。这将启用 Project A 从 Project B 的自动代码完成以及 Eclipse 中的源代码和 Javadoc 集成。
和Gradle,应该是settings.gradle还是build.gradle 文件可以手动编辑,无需通过 Eclipse GUI 添加依赖项,还是必须同时使用两者?此外,这如何影响哪些隐藏文件应该由 Git 索引(.project,.classpath, .settings, .gradle)?
如何通过 Eclipse 和 Gradle 进行设置?
当您使用像 Gradle(或 maven)这样的 build-tool 时,会假定 build-tool 负责配置内容比如项目依赖和类路径。
这种与 Eclipse UI 的冲突是一种 ui 允许您通过它自己的 ui.
管理类路径/依赖项但 Eclipse UI 仅控制 Eclipse JDT 编译器编译您的代码时 eclipse 用作类路径的内容... inside Eclipse。
因此,如果您以这种方式进行更改,那么 Gradle 将不知道这些依赖关系,并且 build 将无法工作。
是的,这确实令人困惑 :-)
正确的做法是完全通过 gradle 管理您的依赖项和项目配置。所以这意味着编辑 build.gradle 和 settings.gradle.
工具(BuildShip 或 STS Gradle 工具)提供 'bridge' 以尝试根据您的 build 配置 Eclipse 项目。
例如,他们可能会在项目上下文菜单中提供 'Update Project' 或 'Refresh Dependencies' 命令。
即使您不使用 Gradle 工具,这种情况也适用。然后,您将使用 Gradle 的 'ecplise' 插件和 运行 类似
的命令 gradle cleanEclipse eclipse
从 build 配置生成 eclipse 项目配置。然后按照 gradle 配置将项目导入到 Eclipse 中。同样在这种情况下,使用 Eclipse UI 对 buildpath 进行更改是一个坏主意,因为最终它会遇到同样的问题,您对那些生成的文件所做的更改可能会使事情编译在 Eclipse 中,但 Gradle 不知道您更改了任何内容。下次你 运行 gradle cleanEclipse eclipse
你的改变也会被吹走。
关于您的具体问题:
should the settings.gradle or build.gradle files be manually edited ...
是的。
... without adding dependencies through the Eclipse GUI ...
是的。
... or must both be used simultaneously?
不,只配置 gradle 中的东西。然后 'synch it up' 使用一些工具进行 eclipse (BuildShip / STS Gradle / gradle cleanEclipse eclipse
)
How does this effect which hidden files should be indexed by Git (.project, .classpath, .settings, .gradle)?
一般经验法则。仅索引定义 gradle 行为的内容(可能有一些例外,但通常尽量减少它们,只有在有充分理由的情况下才违反此规则)。
所以特别不要输入 git 这些 'eclipse metadata'
- .设置
- .项目
- .类路径
请放入 git:gradle 包装器及其属性文件。
Gradle 还有一个 .gradle
文件夹。它属于gradle,不属于eclipse,而是属于'transient' 的缓存和东西。你也不想要 git 中的那些。