Update 11.5. Creating an executable jar.md
parent
0459226358
commit
c0e809b205
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
**可执行jars和Java**:Java没有提供任何标准的加载内嵌jar文件(即jar文件中还包含jar文件)的方法。如果你想发布一个自包含的应用这就是一个问题。为了解决该问题,很多开发者采用"共享的"jars。一个共享的jar简单地将来自所有jars的类打包进一个单独的“超级jar”。采用共享jar方式的问题是很难区分在你的应用程序中可以使用哪些库。在多个jars中如果存在相同的文件名(但内容不一样)也会是一个问题。Spring Boot采取一个[不同的途径](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#executable-jar),并允许你真正的内嵌jars。
|
**可执行jars和Java**:Java没有提供任何标准的加载内嵌jar文件(即jar文件中还包含jar文件)的方法。如果你想发布一个自包含的应用这就是一个问题。为了解决该问题,很多开发者采用"共享的"jars。一个共享的jar简单地将来自所有jars的类打包进一个单独的“超级jar”。采用共享jar方式的问题是很难区分在你的应用程序中可以使用哪些库。在多个jars中如果存在相同的文件名(但内容不一样)也会是一个问题。Spring Boot采取一个[不同的途径](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#executable-jar),并允许你真正的内嵌jars。
|
||||||
|
|
||||||
为了创建可执行的jar,需要将`spring-boot-maven-plugin`添加到我们的`pom.xml`中。在`dependencies`节点下插入以下内容:
|
为了创建可执行的jar,需要将`spring-boot-maven-plugin`添加到我们的pom.xml中。在dependencies节点下插入以下内容:
|
||||||
```xml
|
```xml
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
```
|
```
|
||||||
**注**:`spring-boot-starter-parent` POM包含用于绑定`repackage`目标的`<executions>`配置。如果你不使用parent POM,你将需要自己声明该配置。具体参考[插件文档](http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/usage.html)。
|
**注**:`spring-boot-starter-parent` POM包含用于绑定repackage目标的`<executions>`配置。如果你不使用parent POM,你将需要自己声明该配置。具体参考[插件文档](http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/usage.html)。
|
||||||
|
|
||||||
保存你的`pom.xml`,然后从命令行运行`mvn package`:
|
保存你的pom.xml,然后从命令行运行`mvn package`:
|
||||||
```shell
|
```shell
|
||||||
$ mvn package
|
$ mvn package
|
||||||
|
|
||||||
|
@ -35,11 +35,11 @@ $ mvn package
|
||||||
[INFO] BUILD SUCCESS
|
[INFO] BUILD SUCCESS
|
||||||
[INFO] ------------------------------------------------------------------------
|
[INFO] ------------------------------------------------------------------------
|
||||||
```
|
```
|
||||||
如果查看`target`目录,你应该看到`myproject-0.0.1-SNAPSHOT.jar`。该文件应该有10Mb左右的大小。如果想偷看内部结构,你可以运行`jar tvf`:
|
如果查看target目录,你应该看到`myproject-0.0.1-SNAPSHOT.jar`。该文件应该有10Mb左右的大小。如果想偷看内部结构,你可以运行`jar tvf`:
|
||||||
```shell
|
```shell
|
||||||
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
|
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
|
||||||
```
|
```
|
||||||
在`target`目录下,你应该也能看到一个很小的名为`myproject-0.0.1-SNAPSHOT.jar.original`的文件。这是在Spring Boot重新打包前Maven创建的原始jar文件。
|
在target目录下,你应该也能看到一个很小的名为`myproject-0.0.1-SNAPSHOT.jar.original`的文件。这是在Spring Boot重新打包前Maven创建的原始jar文件。
|
||||||
|
|
||||||
为了运行该应用程序,你可以使用`java -jar`命令:
|
为了运行该应用程序,你可以使用`java -jar`命令:
|
||||||
```shell
|
```shell
|
||||||
|
|
Loading…
Reference in New Issue