2

问题概述:

将 Eclipse Ganymede 与 Web 工具平台一起使用时,项目将依赖于我使用的确切 JRE 名称。名称在其他开发者机器上可能不同,如何最好地解决这个问题,以便许多开发者可以在项目上一起工作?

详细问题描述:

我正在使用 Eclipse Ganymede 和Web 工具平台(因为它是面向 Java EE 开发人员的 Eclipse IDE 的一部分),并且我创建了一个Dynamic Web Project

我安装了一个 JRE,即 Sun JRE for Java SE 6。在 Eclipse 中,我可以选择: Window / Preferences / Java / Installed JREs。我可以看到 JRE 的列表,每一行都有NameLocationType列。

我在列表中只有一个条目,它有: Name =java-6-sun-1.6.0.07 Location =/usr/lib/jvm/java-6-sun-1.6.0.07 *Type=*Standard VM。

问题是我的 JRE 的名称是在两个 Eclipse 项目元数据文件中指定的,它们是.classpath.settings/org.eclipse.jst.common.project.facet.core.prefs

我想将我的项目检查到版本控制中,以供其他开发人员检查和工作,但我认为我不能确定他们有一个与我完全相同名称的 JRE 。

违规文件的内容:

.classpath:(倒数第二个类路径条目是有问题的标签。)

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="src" path="src/main/java"/>
        <classpathentry kind="src" path="src/main/resources"/>
    <classpathentry kind="src" path="src/test/java"/>
    <classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=*">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-sun-1.6.0.07"/>
    <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>

.settings/org.eclipse.jst.common.project.facet.core.prefs

#Mon Feb 02 13:29:53 CET 2009
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:java-6-sun-1.6.0.07/owners=jst.java\:6.0
eclipse.preferences.version=1

签入此项目并让其他开发人员签入并运行/更改它的最佳方式是什么?

4

1 回答 1

1

选择执行环境而不是要使用的 JRE。为此,请进入您的项目 -> 属性 -> Java 构建路径 -> 库。选择“JRE System Library”元素,单击“Edit...”并选择您选择的执行环境(对于您的示例,可能是“JavaSE-1.6”)。

.classpath 文件将包含如下条目:

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
于 2009-02-03T13:18:08.207 回答