博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot创建一个可执行的jar
阅读量:5461 次
发布时间:2019-06-15

本文共 2439 字,大约阅读时间需要 8 分钟。

让我们通过创建一个完全自包含的可执行jar文件来结束我们的示例,该jar文件可以在生产环境运行。可执行jars(有时候被成为胖jars "fat jars")是包含你的编译后的类和你的代码运行所需的依赖jar的存档。

可执行jars和Java:

Java没有提供任何标准的加载内嵌jar文件(即jar文件中还包含jar文件)的方法。如果你想发布一个自包含的应用这就是一个问题。为了解决该问题,很多开发者采用"共享的"jars。一个共享的jar简单地将来自所有jars的类打包进一个单独的“超级jar”。采用共享jar方式的问题是很难区分在你的应用程序中可以使用哪些库。在多个jars中如果存在相同的文件名(但内容不一样)也会是一个问题。

Spring Boot采取一个不同的途径,并允许你真正的内嵌jars。

为了创建可执行的jar,需要将 spring-boot-maven-plugin 添加到我们的pom.xml中。在dependencies节点下插入以下内容:

org.springframework.boot
spring-boot-maven-plugin

注: spring-boot-starter-parent POM包含用于绑定repackage目标的 <executions> 配置。如果你不使用parent POM,你将需要自己声明该配置。

保存你的pom.xml,然后从命令行运行 mvn package :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ mvn 
package
[INFO] Scanning 
for 
projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 
0.0
.
1
-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:
2.4
:jar (
default
-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-
0.0
.
1
-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:
1.3
.
0
.BUILD-SNAPSHOT:repackage (
default
) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

如果查看target目录,你应该看到 myproject-0.0.1-SNAPSHOT.jar 。该文件应该有10Mb左右的大小。如果想偷看内部结构,你可以运行 jar tvf :

1
$ jar tvf target
/myproject-0
.0.1-SNAPSHOT.jar

在target目录下,你应该也能看到一个很小的名为 myproject-0.0.1-SNAPSHOT.jar.original 的文件。这是在Spring Boot重新打包前Maven创建的原始jar文件。

为了运行该应用程序,你可以使用 java -jar 命令:

1
$ java -jar target
/myproject-0
.0.1-SNAPSHOT.jar

. ____ _ __ _ _

/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

\\/ ___)| |_)| | | | | || (_| | ) ) ) )

' |____| .__|_| |_|_| |_\__, | / / / /

=========|_|==============|___/=/_/_/_/

:: Spring Boot :: (v1.3.0.BUILD-SNAPSHOT)

....... . . .

....... . . . (log output here)

....... . . .

........ Started Example in 2.536 seconds (JVM running for 2.864)

和以前一样,点击 ctrl-c 来温柔地退出程序。

 

来源: <>

  <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

 

转载于:https://www.cnblogs.com/xyhero/p/5b8f6880b01112d3ccd3cc2c8514446a.html

你可能感兴趣的文章
php-流程管理(发起流程和审核流程)
查看>>
python_Day1_函数中的各种参数
查看>>
GlassFish 3.1 Server Open Source Edition 配置 oracle 连接池
查看>>
CentOS删除svn版本库
查看>>
Idea远程调试undertow
查看>>
Three.js基础探寻八——法向材质与材质的纹理贴图
查看>>
Ubuntu下配置python完成爬虫任务(笔记一)
查看>>
From:51JS,JS牛人的作品
查看>>
[收藏]JS正则表达式详解
查看>>
开发资源汇聚 - jQuery (持续更新中)
查看>>
学习前端框架Metronic
查看>>
转载 升级程序的制作方法
查看>>
MySQL 关键字和保留字
查看>>
Selenium 元素查找
查看>>
测试的发现遗漏BUG的做法
查看>>
关于网络NSURLSession
查看>>
JSON入门资料
查看>>
ZBlog你选择PHP还是ASP?
查看>>
魅族黄章内部讲话节选
查看>>
OpenStack 计算节点关机,虚拟机状态解决办法
查看>>