我们正在为我们的项目使用 Eclipse,我们希望对我们使用的 JDK 进行修订控制。(不同的项目需要使用不同的JDK)。我们不想在 Eclipse 中将每个人的系统都配置为具有相同名称的相同 JDK,而是希望将 JDK 作为我们项目的一部分包含在我们的源代码控制工具中,并让项目指向作为项目一部分的 JDK。
我们不知道如何告诉 Eclipse 使用在项目中找到的 JDK。它一直想要一个 JDK 的绝对路径。是否可以使用作为项目一部分的 JDK 并使用相对于项目的路径?
是否可以使用作为项目一部分的 JDK 并使用相对于项目的路径?
直接回答:NO
您要求绕过 Eclipse 在已安装的运行时环境(在工作区级别定义)和项目的编译器配置(在项目级别定义)之间提供的基本抽象。如果您想使用 Eclipse 中的所有 JDT 功能,您只需要在每个开发人员的每个工作空间上配置已安装的 JRE 。
但是,我可以想到一种可能不那么标准的方式(我看到 -1 会这么说,这太疯狂了!)来实现您想要的:分发.metadata
您拥有的预配置工作区的文件夹已经设置了所有 JRE,因此您不必在每台机器上进行安装。这还包括提交每个项目.settings
的文件夹和.project .classpath
文件。想要包含 JDK?好吧,您可以将它们中的每一个作为单独的项目放在 SCM 中,并要求每个开发人员导入和配置它们。如果您在分发模板工作区之前对其进行了此操作,那么它将不仅具有 JDK,而且还具有.metadata
指向它们的指向。
这有什么问题?可能一切。
高手是怎么做到的?Maven 和maven-compiler-plugin
(并且不提交任何 IDE 特定文件)。这让开发人员可以自由选择他们想要的任何 IDE,并且大多数支持从 POM 文件自动配置项目:目标 JDK、依赖项等。
这可能不是您正在寻找的方法,但一种选择是使用SUBST
用于项目根目录的驱动器号。
在所有开发机器上使用相同的项目路径具有许多优势。这种策略对于在单个代码行上工作的开发人员最有用,但即使我的机器上有多个代码行,我也成功地使用了它,并根据需要更改 subst。
您可以在 Eclipse 中配置 JDK 版本。右键单击您的项目,选择属性,转到 Java 编译器,然后您可以为您的项目选择特定于项目的 Java 版本。
一种方法是在所有机器上安装所有 JDK,并根据需要使用 JAVA_HOME/PATH 变量来指向适当的 JDK 安装。您只需双击即可编写一个简单的批处理文件来处理环境变量设置。
不,那是不可能的。
要么使用 Maven 来声明所有依赖项,包括要使用的 SDK。或者使用Yoxos或Secure Delivery Center集中定义 Eclipse 配置,然后在启动 Eclipse 时将其部署到您的开发人员桌面。
您要检查整个 JDK 吗?这似乎可能会大大降低您的 SCM 速度,因为它必须尝试跟踪很多大的二进制文件,而这些文件的差异并不大。为什么不使用像 Maven 这样的工具来声明要使用的 JRE 版本?