草庐IT

java - 在 Windows 可执行文件中嵌入 JRE?

假设我想分发一个Java应用程序。假设我想将它作为单个可执行文件分发。我可以轻松地在单个文件中构建一个包含应用程序及其所有外部依赖项的.jar(通过一些Anthack)。现在假设我想在Windows上将它作为.exe文件分发。这很容易,因为那里有很好的工具(例如Launch4j等)。但是现在假设我也不想依赖最终用户安装了正确的JRE(或任何JRE)。我想用我的应用分发一个JRE,我的应用应该在这个JRE上运行。创建一个Windows安装程序可执行文件并在其中嵌入一个包含所有必要JRE文件的文件夹非常容易。但后来我分发的是installer而不是单文件应用程序。有没有办法将应用程序和一个

java - 在 Windows 可执行文件中嵌入 JRE?

假设我想分发一个Java应用程序。假设我想将它作为单个可执行文件分发。我可以轻松地在单个文件中构建一个包含应用程序及其所有外部依赖项的.jar(通过一些Anthack)。现在假设我想在Windows上将它作为.exe文件分发。这很容易,因为那里有很好的工具(例如Launch4j等)。但是现在假设我也不想依赖最终用户安装了正确的JRE(或任何JRE)。我想用我的应用分发一个JRE,我的应用应该在这个JRE上运行。创建一个Windows安装程序可执行文件并在其中嵌入一个包含所有必要JRE文件的文件夹非常容易。但后来我分发的是installer而不是单文件应用程序。有没有办法将应用程序和一个

java - 较新的 JRE 版本可以运行使用较旧 JDK 版本编译的 Java 程序吗?

在运行Java程序和在Java版本1.6和1.7中编译的相关库(我使用1.7编译,而一些库使用1.6编译)并运行整个程序时,我会遇到任何问题吗?1.7JRE? 最佳答案 正如已经回答的那样,您大部分是安全的,大多数产品和3rd方库都可以正常工作。然而,确实存在非常罕见的情况,二进制不兼容(使用旧JDK编译的类文件将无法在新JVM中运行的情况)在JDK版本之间引入。OracleJava版本间不兼容官方列表:inJavaSE9sinceJavaSE8inJavaSE8sinceJavaSE7inJavaSE7sinceJavaSE6in

java - 较新的 JRE 版本可以运行使用较旧 JDK 版本编译的 Java 程序吗?

在运行Java程序和在Java版本1.6和1.7中编译的相关库(我使用1.7编译,而一些库使用1.6编译)并运行整个程序时,我会遇到任何问题吗?1.7JRE? 最佳答案 正如已经回答的那样,您大部分是安全的,大多数产品和3rd方库都可以正常工作。然而,确实存在非常罕见的情况,二进制不兼容(使用旧JDK编译的类文件将无法在新JVM中运行的情况)在JDK版本之间引入。OracleJava版本间不兼容官方列表:inJavaSE9sinceJavaSE8inJavaSE8sinceJavaSE7inJavaSE7sinceJavaSE6in

eclipse - 如何在 Mac OS X 上安装 JRE 1.7 并将其与 Eclipse 一起使用?

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便可以重新打开它,visitthehelpcenter.关闭9年前。我想使用我下载的JRE1.7fromOraclewebsite.所以我正确安装了.pkg文件,当我在终端中尝试/Library/Internet\Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java-version时,我得到了这个:javaversion"1.7.0_11"Java(TM)SERuntimeEnvironmen

eclipse - 如何在 Mac OS X 上安装 JRE 1.7 并将其与 Eclipse 一起使用?

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便可以重新打开它,visitthehelpcenter.关闭9年前。我想使用我下载的JRE1.7fromOraclewebsite.所以我正确安装了.pkg文件,当我在终端中尝试/Library/Internet\Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java-version时,我得到了这个:javaversion"1.7.0_11"Java(TM)SERuntimeEnvironmen

java - 找不到指定的 VM 安装 : type Standard VM, 名称 jre7

未找到指定的VM安装:键入标准VM,名称为jre7在Eclipse中构建ant文件时是否遇到过这个问题?那么这篇文章适合你。删除和重新创建工作区不是解决方案。有一个简单的解决方案可以在不重新创建工作区的情况下解决此问题。 最佳答案 右键单击build.xml转到“运行方式”>>“外部工具配置...”它将打开新窗口转到JRE选项卡如果缺少,请选择正确的JRE(有时jre选项卡会显示错误标记。)如需更多技术细节或类似问题,请访问我的博客here. 关于java-找不到指定的VM安装:type

java - 找不到指定的 VM 安装 : type Standard VM, 名称 jre7

未找到指定的VM安装:键入标准VM,名称为jre7在Eclipse中构建ant文件时是否遇到过这个问题?那么这篇文章适合你。删除和重新创建工作区不是解决方案。有一个简单的解决方案可以在不重新创建工作区的情况下解决此问题。 最佳答案 右键单击build.xml转到“运行方式”>>“外部工具配置...”它将打开新窗口转到JRE选项卡如果缺少,请选择正确的JRE(有时jre选项卡会显示错误标记。)如需更多技术细节或类似问题,请访问我的博客here. 关于java-找不到指定的VM安装:type

windows - Java 应用程序阻止服务器在 JRE 更新后重新启动

我在更新JRE后遇到问题。如果我有一个已启动的Java应用程序并启动系统重启-Windows无法自动停止此Java应用程序并且我收到以下消息:“此程序阻止Windows重新启动”。如果我按取消,那么我可以看到阻止重启的Java应用程序挂起。此问题会影响我的Java应用程序和jconsole等应用程序。在更新JRE之前,JRE1.6.0_26一切正常。我第一次遇到这个问题是在JRE1.6.0_36上。但它也发生在1.6.0_39上。P.S:我有WindowsServer2008R2Interprise有没有人有同样的问题或者可以建议在这种情况下该怎么做?谢谢。更新:我已经实现了以下add

java - 针对特定于操作系统的 JRE 进行编码

我有依赖于NTSystem类(com.sun.security.auth.module.NTSystem)的代码,该类位于WindowsJRE的rt.jar中。但是当我在Linux机器上编译我的类时,它失败了,因为LinuxJDK/JRE没有提供该类。现在,在运行代码时,我无法使用NTSystem类及其函数是有道理的。但我的代码足够智能,可以确定它在什么操作系统上运行,并使用适当的类。相反,在Windows中开发,我无法访问com.sun.security.auth.module.UnixSystem。由于编译时间限制,我是否被迫使用反射来加载和使用这些类?或者是否有一个特殊的rt.j