java - 使用 JRE 分发我的应用程序 jar

标签 java deployment installation launch4j

如何使用 JRE 分发我的应用程序 jar?我使用 launch4j 在 exe 中制作我的可执行 jar。

我的应用程序是一个基于桌面的 swing 应用程序。我想让它像一个应用程序,如果用户没有安装 JRE,他们可以通过使用嵌入式 JRE 来使用它。我将 JRE 与应用程序一起提供并使用它。应用程序和 JRE 的卸载将像游戏一样卸载。

我明白,如果我将预装的 JRE 与我的应用程序一起提供,它就会发生。我还在 launch4j 中看到选项卡 JRE,但我不明白我将提供哪条路径。 This链接我也看到了,但是没有给出明确定义整个过程的过程或有用的链接。

请给出明确的答案。如果您的答案基于 launch4j,我会更喜欢。

最佳答案

您如何分发您的应用程序?你有安装程序吗?

如果您有安装程序,您可以将任何 jre 与其捆绑在一起并配置 launch4j 以使用它。

我为重新创建您的用例所做的工作:

  1. 创建一个目录,例如C:\temp 把我的jdk从C:\Program Files\Java\jdk1.6.0_23复制到C:\temp\myownjdk1.6.0_23 配置
  2. launch4j 以使用我的 JDK:在 JRE 选项卡中,输入“myownjdk1.6.0_23”作为
  3. 捆绑 JRE 路径并且我配置为“仅使用私有(private) JDK 运行时” - 虽然我不确定这是否真的有必要。

我使用的是 JDK,但我相信您也可以使用 JRE 做同样的事情。 此外,我非常确定您必须(或可以)为您的包使用相对路径(就像我所做的那样)。

这是我的配置文件:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>C:\temp\demoapp.jar</jar>
  <outfile>C:\temp\thing.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir></chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <customProcName>false</customProcName>
  <stayAlive>false</stayAlive>
  <manifest></manifest>
  <icon></icon>
  <jre>
    <path>myownjdk1.6.0_23</path>
    <minVersion></minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>jdkOnly</jdkPreference>
  </jre>
</launch4jConfig>

关于java - 使用 JRE 分发我的应用程序 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871987/

相关文章:

java - 使用 Spring Boot RestTemplate 解析嵌套元素会出现 JSON 解析错误

java - 转储 "real-world"场景以进行单元测试

java - 字符串常量池的count总数是多少?

deployment - GlassFish 3.1.2 在部署时给出 404,没有任何错误

java - Glassfish - EAR 包的 3.1.2 部署需要很长时间

c++ - 部署没有 ICU 依赖项的 Qt 项目

go - 在外壳程序脚本中运行时,“go get”命令不会生成bin文件夹

java - 没有 textArea 的 JFileChooser

elasticsearch - Logstash作为服务在Red Hat 5上出错?

tfs - 如何获取tf.exe(TFS命令行客户端)?