Java 使用Eclipse项目中的JDK

Java 使用Eclipse项目中的JDK,java,eclipse,Java,Eclipse,我们正在为我们的项目使用Eclipse,我们希望对我们使用的JDK进行修订控制。(不同的项目需要使用不同的JDK)。我们不想在Eclipse中将每个人的系统配置为具有相同名称的相同JDK,而是希望将JDK作为项目的一部分包含在源代码控制工具中,并使项目指向作为项目一部分的JDK 我们不知道如何告诉Eclipse使用项目中的JDK。它一直想要一条通向JDK的绝对路径。是否可以使用作为项目一部分的JDK并使用与项目相关的路径?您可以在Eclipse中配置JDK版本。右键单击您的项目,选择属性,转到J

我们正在为我们的项目使用Eclipse,我们希望对我们使用的JDK进行修订控制。(不同的项目需要使用不同的JDK)。我们不想在Eclipse中将每个人的系统配置为具有相同名称的相同JDK,而是希望将JDK作为项目的一部分包含在源代码控制工具中,并使项目指向作为项目一部分的JDK


我们不知道如何告诉Eclipse使用项目中的JDK。它一直想要一条通向JDK的绝对路径。是否可以使用作为项目一部分的JDK并使用与项目相关的路径?

您可以在Eclipse中配置JDK版本。右键单击您的项目,选择属性,转到Java编译器,在那里您可以为您的项目选择特定于项目的Java版本。

您要签入整个JDK吗?这可能会使SCM的运行速度减慢很多,因为它必须尝试跟踪大量大型二进制文件,这些文件之间的差异不大。为什么不使用像Maven这样的工具来声明要使用的JRE版本呢?

这可能不是您要寻找的方法,但是一种选择是使用
SUBST
为项目的根目录使用驱动器号

在所有开发机器上使用相同的项目路径有许多优点。这种策略对于在单个代码行上工作的开发人员来说非常有用,但是我已经成功地使用了它,即使在我的机器上有多个代码行,根据需要更改subst

是否可以使用作为项目一部分的JDK并使用路径 这与项目有关吗

直接回答:

您要求了解Eclipse在已安装的运行时环境(在工作区级别定义)和项目的编译器配置(在项目级别定义)之间提供的基本抽象。如果您想使用Eclipse中的所有JDT特性,只需在每个开发人员的每个工作区上配置

然而,我可以想出一种可能不太标准的方法(我看到-1来表达这一点,这太疯狂了!)来实现你想要的:分发你已经用所有JRE设置好的预先配置的工作区的
.metadata
文件夹,这样你就不必在每台机器上进行安装。这还包括提交每个项目的
.settings
文件夹和
.project.classpath
文件。想要包括JDK吗?嗯,您可以将它们作为单个项目放在SCM中,并要求每个开发人员导入和配置它们。如果在分发模板工作区之前在模板工作区中执行此操作,那么它将不仅有JDK,而且还有指向它们的
.metadata

这会出什么问题可能什么都有。


职业选手是怎么做到的?Maven和
Maven编译器插件
(并且不提交任何特定于IDE的文件)。这使开发人员可以自由选择他们想要的任何IDE,并且大多数开发人员都支持从POM文件自动配置项目:目标JDK、依赖项等。

一种方法是在所有机器上安装所有JDK,并根据需要使用JAVA_HOME/PATH变量指向适当的JDK安装。您只需双击即可编写一个简单的批处理文件来处理环境变量设置。

不,这是不可能的


或者使用Maven声明所有依赖项,包括要使用的SDK。或者使用或集中定义Eclipse配置,这些配置在启动Eclipse时部署到开发人员桌面。

我们使用Eclipse进行开发。Mavin不是一个开发工具。我们可以一起解决一些问题,但我们不愿意。有一个Mavin Eclipse插件,但是再一次,这并不是Mavin的真正意图,而且使用起来很麻烦。JDK没有那么大,我们在一个内部千兆网络上,不会有差异(在JDK中)需要担心。任何性能问题都不会被注意到。@Thor插件所做的是让您的IDE使用Maven POM来声明依赖项并设置构建环境,而不是它们自己的内置机制。事实上,Maven的目的是让您能够独立于IDE自动构建项目,并因此让您的开发人员使用他们喜欢的IDE。不想费心设计一个项目是一个有效的选择,但如果这样做比做要省力的话,你应该这样做。@TomG:-1:这甚至不是答案。@millimoose你也指哪个插件?我会调查的。我会失去智能感知和自动完成之类的东西吗?尽管如此,我还是想在我走到这一步之前,确保Eclipse在本机上不支持这一点。@Thor我会试试。也就是说,这不是推荐,我是IntelliJ IDEA的用户。您不应该真正失去任何功能,插件所做的大部分工作是在项目中设置Maven依赖项,并允许您从IDE进行Maven构建。另外,我应该指出,将现有项目转换为Maven是一项相当艰巨的工作,如果您找到一种更简单的方法来处理JDK版本,那么可能不值得这么做。(尽管这不是使用它的唯一好处。)我需要设置的不仅仅是版本。我需要设置JDK的路径。不同的开发人员在不同的位置有JDK,有些人没有预先安装正确的JDK。我认为不值得为此而费心将JDK放入源代码控制。JDK是至关重要的工具,应该告诉每个开发人员安装正确的版本。我假设开发人员能够自己安装JDK。这种方法是我们的备份计划。我们不想强迫每个人都有相同的环境。人们总是忽略或不知道指定的结构。它变成了一个什么样的管理夜母马。如果w