2014-09-02 25 views
1

创建启动配置时,您可以指定执行环境,更具体地使用哪种环境?我认为它最终成为Java的一个参数?运行配置中的执行环境设置

如果我们有一个使用JavaSE-1.8执行环境构建的插件,并使用该插件运行应用程序并使用执行环境JRE-1.1运行它,会产生什么后果?

回答

2

说明:

它将无法运行。执行环境表示代码旨在在某个Java实现中执行。这会影响到:源代码编译到的字节码版本和代码中使用的Java类库。该设置由IDE使用(不确定所有的IDE都使用它 - Eclipse),以确保您只编写可以在给定EE中执行的代码。

字节码不兼容例如:

的Java 8中添加拉姆达的支持 - 如果你使用它你的字节码将有labmda相关的指令,它不会在执行较旧的JVM。

JCL不相容例如:

爪哇8引入URLPermission类。如果您在代码中引用它,并尝试在较旧的Java类库中运行它,您将得到一个异常。即使你将代码编译成较旧的字节码版本。在老JCL中,这个类是无法访问的。

链接:

Eclipse社区有很多关于Java执行环境资源 - 了解它here

+0

有道理。结果发现,在我的特殊情况下,一个简单的Java应用程序开始使用Java 8转换为已启动的Eclipse。因此,JRE1-1的执行环境从未与我们的插件真正相关。 – Fredrik 2014-09-04 09:45:30

1

1.8至1.1?如此多的版本不和谐?无论如何,启动配置具有关于jre路径的数据,依赖性jar和存储程序所需参数的文件位置。

如果您更改env,则您的代码可能与源代码不兼容,或者您​​可能会收到类似'文件未找到/未找到类别'的错误。

相关问题