java - 从可执行 jar 创建随处安装启动器

标签 java jar spring-boot installanywhere

我有一个由 Spring Boot 创建的 jar 文件。通过命令 java -jar 运行时,应用程序运行平稳。我想使用此 jar 文件创建随处安装启动器。

我尝试的是发送 Spring Boot 主类 (PropertiesLauncher)。问题是像这样调用它不会在我的可执行 jar 中加载嵌套的 jar,而且 loader.path 似乎不起作用。

有没有办法从 install anywhere 启动器中调用 java -jar 之类的可执行 jar?

我在想另一种选择是为脚本文件创建一个安装在任何地方的启动器,并在其中调用 java -jar。所以另一个问题是: 如何为脚本文件创建随处安装启动程序?

最佳答案

'execute command' 步骤可以解决问题:

使用这个命令行:

java -jar <path.to.jar.file>

使用 EXECUTE_STDOUT、EXECUTE_STDERR 和 EXECUTE_EXITCODE 内置变量来捕获错误并解析 jar 的执行结果。

重要提示:

您必须确保您的 jar 包含所有依赖项(或至少在命令行中设置类路径);

要使用 eclipse 在您的 jar 中包含依赖项,您可以:

  1. 将您的项目导出为“可运行的 jar 文件”并选择 “将所需的库提取/打包到生成的 JAR 中”选项

  2. 使用Maven构建带依赖的项目;这 需要 maven-assembly-plugin。

'execute command' 也适用于 batch/cmd/shell 脚本,但您必须确保将脚本提取到本地文件夹例如 %TEMP% 或/tmp,然后才能使用它们。

祝你好运

关于java - 从可执行 jar 创建随处安装启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824453/

相关文章:

java - 线程中出现异常 "AWT-EventQueue-0"java.lang.NullPointerException 错误,该怎么办?

Java:从多个数组中的重复项获取平均时间

java - 在依赖于另外两个项目的 Eclipse Java 项目中,如何解决 jar 冲突?

java - 在命令行中运行一个 jar 文件(由 ant 生成)

java - 使用 CommandLineRunner spring boot 创建模式

java - 由 : java.net.URISyntaxException 引起:索引 111 处的查询中存在非法字符:由于 URI 中的 {} 导致错误

java - 如何在Javers中清理一段时间后的快照和提交?

java - com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException

java - 为什么我不能使用 MySQL 的 mysql.connector.java 库?

java - jibx 与 hibernate 5 编码