为了账号安全,请及时绑定邮箱和手机立即绑定

什么是自动可执行 jar?

什么是自动可执行 jar?

茅侃侃 2022-11-10 16:37:59
我正在浏览 spring-boot-maven-plugin 文档并遇到了一个术语自动可执行 jar。有人可以解释一下什么是自动可执行 jar,它与普通 jar 文件有何不同以及它们是如何自动执行的?spring-boot-maven-plugin 文档提到了这个术语,但没有进一步解释它repackage:创建一个可自动执行的 jar 或 war 文件。它可以替换常规工件,也可以使用单独的分类器附加到构建生命周期。
查看完整描述

4 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

Could someone please explain me what is an auto executable jar

完全可执行的 jar 可以像任何其他可执行二进制文件一样执行,也可以使用 init.d 或 systemd 注册。这使得在常见的生产环境中安装和管理 Spring Boot 应用程序变得非常容易。

所以总而言之,当您使用可执行 jar 时,就像任何其他可执行文件一样

how is it different then normal jar files and how they are auto executed?

那么一个你需要运行的java文件 java -jar

来自 Spring 文档


查看完整回答
反对 回复 2022-11-10
?
慕沐林林

TA贡献2016条经验 获得超9个赞

  • 可执行 jar - 在清单中声明了主类并且可以使用java -jar yourJarFile.jar命令运行的 jar

  • 其他 jars - jars jars 没有 delcared main calss。可以是任何东西 - 应用程序、库等。仍然可以通过提供fully.qualified.class.name 作为入口点来运行应用程序,例如java -cp yourJarFile.jar my.bootstrap.BootstrapClass

  • 自动执行的 jars - 从来没有听说过 :)


查看完整回答
反对 回复 2022-11-10
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我可能建议自动可执行意味着您提供了 main 方法,以便可以使用 java -jar 选项启动它,否则它可能只是一个 java 库。这是来自https://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html的引用

重新打包现有的 JAR 和 WAR 档案,以便可以使用 java -jar 从命令行执行它们。使用 layout=NONE 也可以简单地用于打包具有嵌套依赖项的 JAR(并且没有主类,因此不可执行)。


查看完整回答
反对 回复 2022-11-10
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

Springboot 应用程序的 Maven 构建首先构建您自己的应用程序并将其打包到 JAR 文件中。

在第二阶段(重新打包)中,它将将该 jar 与依赖关系树中的所有 jar 文件一起包装到一个新的包装jar 存档中。它还将生成一个清单文件,其中定义了应用程序主类是什么(也在包装器jar 中)。

在 mvn package 之后,您还可以在目标目录中看到 2 个 jar 文件。原始文件和打包的jar 文件。

您可以使用以下简单命令启动 Springboot 应用程序:

java -jar my-springboot-app.jar


查看完整回答
反对 回复 2022-11-10
  • 4 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信