以编程方式配置 Eclipse 安装的 JRE

2024-01-16

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

我在 Windows 7 32 位和 JDK 1.6.0_16 上运行 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

然而,在窗口 |偏好 |爪哇 |安装的 JRE,唯一列出的 JRE 是“C:\Program Files\Java\jre6”中的 JRE。该 JRE 最终成为运行 Maven 的 JRE,因此我的 Maven 构建失败。

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

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


该设置存储在

<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\=""/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式配置 Eclipse 安装的 JRE 的相关文章

随机推荐

  • Node.js WriteStream 在关闭之前不会将数据写入文件

    我怎样才能将数据写入文件WriteStream write 叫做 编辑 事实证明 当我使用 REPL 并调用该函数时 这是有效的 但是 这在我的程序中不起作用 import as FS from fs import LetterGroup
  • 'this' 关键字作为属性

    我很了解 C 但这对我来说很奇怪 在一些旧程序中 我看到过这样的代码 public MyType this string name some code that finally return instance of MyType 怎么称呼
  • 堆和栈内存是如何管理、实现和分配的?

    在 C C 中 我们可以在堆栈或堆上存储变量 函数 成员函数 类的实例 每一项是如何实施的 它是如何管理的 高层 gcc 是否预先分配一块内存用于堆栈和堆 然后根据请求分配出去 原始内存是来自RAM吗 函数可以分配在堆上而不是堆栈上吗 澄清
  • 为什么会话 bean 方法在抛出 RuntimeException 时抛出 EjbTransactionRolledbackException

    我试图通过约束验证来持久化实体 当调用持久化时 抛出约束并且调用者得到EjbTransactionRolledbackException 所以我尝试显式调用验证并抛出ConstraintViolationException RuntimeE
  • 如何在plsql中动态定义类型

    我有一个这样的程序 create or replace procedure pname tn varchar2 is here i want to declare the variable col1 tn COL ID begin end
  • Firebase 确认电子邮件未发送

    我已成功设置 Firebase 电子邮件 密码身份验证 但出于安全原因 我希望用户确认她 他的电子邮件 Firebase 网站上写道 当用户使用电子邮件地址和密码注册时 系统会发送一封确认电子邮件以验证其电子邮件地址 但是当我注册时 我没有
  • XMMatrix 的访问浮点数 - () 运算符不起作用

    我正在尝试在 DirectX 中做一些 3D 工作 我正在从 OpenGL 迁移 但遇到了障碍 我想访问 XMMATRIX 的值并查看 Microsoft 文档 应该有一个 运算符 float operator size t Row siz
  • C中主要函数的风格[重复]

    这个问题在这里已经有答案了 可能的重复 main 的正确声明是什么 https stackoverflow com questions 4207134 what is the proper declaration of main 我正在努力
  • Python正则表达式将空格分隔的单词分隔成列表

    如果我有一个字符串 hello world示例文本 我希望能够将其转换为列表 hello world sample text 我怎样才能用正则表达式做到这一点 其他不使用re的方法也是可以接受的 hello world sample tex
  • PHP/Apache REQUEST_URI 不同的行为?

    我正在将网站从一台服务器移动到另一台服务器 两者都具有相似的变体森托斯 5 x64 with 阿帕奇2 2 and PHP 5 2 X 我的一些脚本 包括WordPress 行为不正确 事实证明问题在于两者之间的差异REQUEST URI
  • 必填字段验证器,在初始页面加载时显示

    我有一个简单的文本框 末尾附加了必需的字段验证控件 然后显示在页面底部的验证摘要中 一切都运行良好 但验证似乎在页面的初始加载时触发 这显然会引发所需的验证并显示错误消息 如何将此控件设置为仅在提交表单后才验证 听起来您的页面加载中有这样的
  • 将 sql 查询转换为等效的 Spark 查询

    我在用spark sql 2 4 1v用java8 我有如下所示的场景 片段 Dataset
  • Android中AAR、JAR、DEX、APK的区别

    在Android系统或开发环境中 AAR JAR DEX APK文件有什么区别 每一项的目的是什么 AFAIK JAR 就像 class 文件的集合 就像 Java 中的那样 AAR 是 JAR 文件 资源 但它的用例是什么 用于分发 An
  • 为什么在 scala Spark 应用程序中初始化 SQLContext 后导入隐式 SqlContext.implicits._

    为什么在 scala Spark 应用程序中初始化 SQLContext 后导入隐式 SqlContext implicits 当导入放在对象之外时 似乎存在问题 我来自 java 背景 不理解 def 对象中 import 语句的用法 v
  • HTTPS 通信是否需要 JWT?

    我正在开发一个 MEAN 堆栈应用程序 目前正在设置一个帐户系统 我看过几个关于身份验证的教程 全部使用JWT 我想知道 JWT 是否可以用作通过非安全连接 如 HTTP 来保护通信传输的方法 我已经设置了 HTTPS 从 Angular
  • Android 通知管理器在屏幕关闭时不起作用

    我有一个倒计时器 当它关闭 到零 时 它会检查应用程序是否具有焦点 如果没有 它会在通知栏中启动通知 当您单击通知时 将重新打开应用程序 现在所有这些都工作正常 但如果屏幕碰巧关闭 计时器会继续运行 并且通知会在正确的时间可用 但在我重新打
  • 如何识别 Teradata 用户的所有权限?

    我正在寻找一种方法来识别授予特定数据库中用户的默认权限 我已经尝试过这个 select from dbc allrights where username user id and databasename database name 上述有
  • 像地址栏一样的资源管理器窗口[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 以与创建相反的顺序处理对象?

    我在编写的代码中遇到一个反复出现的问题 修改某些全局值 我将使用注册表值作为示例 然后尝试将修改恢复到原始状态 我想我会尝试使用 IDisposable 来解决这个问题 创建时 该对象将读取注册表值 将其存储在本地 然后对其进行修改 当被破
  • 以编程方式配置 Eclipse 安装的 JRE

    我想将 Eclipse 环境配置为使用 JDK 而不是标准 JRE 我这样做是因为我使用 m2eclipse 它需要 JDK 中的 tools jar 才能运行 我在 Windows 7 32 位和 JDK 1 6 0 16 上运行 Ecl