【问题标题】:Programmatically configure Eclipse Installed JREs以编程方式配置 Eclipse 安装的 JRE
【发布时间】:2009-11-20 20:30:08
【问题描述】:

我想将我的 Eclipse 环境配置为使用 JDK 而不是标准 JRE。我这样做是因为我使用 m2eclipse,它需要 JDK 中的 tools.jar 才能运行。

我在带有 JDK 1.6.0_16 的 Windows 7 32 位上运行 Eclipse 3.5.1。

在我的系统上,我将 JDK 安装到“C:\Program Files\Java\jdk”(最新安装的符号链接)。

我将 -vm 选项添加到 eclipse.ini 以指向 JDK

-vm
C:/Program Files/Java/jdk/bin

我已经确认 eclipse 实际上是从所需的 JVM 开始的。在配置详情中

eclipse.vm=c:/Program Files/Java/jdk/bin\..\jre\bin\client\jvm.dll

另外,在我的环境中,

JAVA_HOME=c:\Program Files\Java\jdk

但是,在 Window |偏好 |爪哇 |已安装的 JRE,列出的唯一 JRE 是“C:\Program Files\Java\jre6”中的一个。这个 JRE 最终成为运行 Maven 的那个,所以我的 Maven 构建失败了。

我知道我可以手动更改 Installed JRE 以指向 JDK,这就是我过去所做的。但是,我想找到一种方法来编写此更改的脚本,以便我可以自动安装开发环境。

此设置存储在哪里?自动配置 Eclipse 以使用 JDK 作为唯一安装的 JRE 的最佳方法是什么?

【问题讨论】:

    标签: eclipse


    【解决方案1】:

    设置保存在

    <workspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.launching.prefs
    

    我建议在 Preferences / Java / Installed JRE 以及 Preferences / Java / Installed JRE / Execution Environment 中手动设置您的 JDK。

    然后,当您需要具有该精确配置的 Eclipse 时,只需使用您的预设配置文件复制此文件,然后启动该 Eclipse。

    从该配置文件中提取:

    org.eclipse.jdt.launching.PREF_DEFAULT_ENVIRONMENTS_XML=
      <?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>
      <defaultEnvironments>
          <defaultEnvironment environmentId\="JavaSE-1.6" 
                              vmId\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1255369536255"/>
      </defaultEnvironments>
    
    
     eclipse.preferences.version=1
     org.eclipse.jdt.launching.PREF_VM_XML=
       <?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>
           <vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1255369536255">
                <vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">
                    <vm id\="1255369536255" 
                        javadocURL\="http\://java.sun.com/javase/6/docs/api/"
                        name\="jdk1.6.0_16" path\="C\:\\Prog\\Java\\jdk1.6.0_16">
                    <libraryLocations>
                        <libraryLocation jreJar\="C\:/Prog/Java/jdk1.6.0_16/jre/lib/resources.jar" 
                                         jreJavadoc\="http\://java.sun.com/javase/6/docs/api/" 
                                         jreSrc\="C\:/Prog/Java/jdk1.6.0_16/src.zip"
                                         pkgRoot\=""/>
    

    【讨论】:

    • 我认为它在附近的某个地方可用,但您确定它是正确的文件吗?这是我机器上的内容:eclipse.preferences.version=1
    • 这可能是默认的内容,当没有明确声明 JRE 时。但是如果我声明一个,那么这个文件确实包含比eclipse.preferences.version=1
    • 感谢您的确认 :)
    • 经过进一步检查,我发现如果我只是删除 org.eclipse.jdt.launching.prefs 文件并启动 eclipse,它会将 JDK 添加为唯一安装的 JRE。我猜我之前必须手动设置它的原因是因为我必须在没有上述设置之一的情况下尽早启动 Eclipse(例如 JAVA_HOME 环境)。感谢您的指点。这是一个巨大的帮助,应该会在未来为我节省大量时间。
    • 我很高兴你设法解决了这个问题。我会记住这个“删除首选项文件”的技巧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2021-12-04
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多