Java—导出JAR和EclipseIDE之间的不同行为

Java—导出JAR和EclipseIDE之间的不同行为,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,今天,我在尝试从EclipseIDE调用批处理文件时遇到了一个奇怪的问题 普通用户的设置为: 调用.bat文件 这将设置一些环境变量 并调用Eclipse RCP应用程序 我的程序设置为: 通过Runtime.exec()调用相同的.bat文件 当作为普通用户调用它时,一切正常,RCP启动 在Eclipse IDE中通过Runtime.exec()调用它时,我收到一条错误消息,抱怨找不到程序文件\jre6\bin\server\jvm.dll(尽管它在那里) 当我将程序导出为可执行的.j

今天,我在尝试从EclipseIDE调用批处理文件时遇到了一个奇怪的问题

普通用户的设置为:

  • 调用.bat文件
  • 这将设置一些环境变量
  • 并调用Eclipse RCP应用程序
我的程序设置为:

  • 通过
    Runtime.exec()调用相同的.bat文件
当作为普通用户调用它时,一切正常,RCP启动

在Eclipse IDE中通过
Runtime.exec()
调用它时,我收到一条错误消息,抱怨找不到
程序文件\jre6\bin\server\jvm.dll(尽管它在那里)

当我将程序导出为可执行的.jar文件时,它就像我自己单击.bat一样工作正常

有什么区别?(操作系统为Win7)

在Eclipse中

  • 右键单击项目并单击“属性”
  • 选择“Java构建路径”
  • 选择“库”选项卡
  • 选择“JRE系统库”并单击“编辑”
检查系统库是否指向有效的JDK安装(不是JRE)。如果它没有指向有效的JDK安装

  • 选择“备用JRE”并单击“已安装的JRE”
  • 单击Add,指向有效的JDK安装,然后单击OK
  • 在“备用JRE”下拉列表中,选择新添加的有效JDK并单击Finish
运行程序并检查

好的,明白了

这似乎是Eclipse3.7的一个特定问题


在安装4.2之后,所有这些都可以很好地工作。

在ELIPSetriced中验证java构建路径,使用不同的已安装JDK对其进行了测试,但没有效果。独立于定义的JDK,它总是抱怨缺少jre6/server/jvm.dll。。。它似乎隐藏在RCP中(不幸的是不可更改)。因此,我更加困惑。