Update 73.8. Build an executable archive with Ant.md

master
qibaoguang 2015-04-14 00:41:08 +08:00
parent e95c93e9a6
commit 3b044a6061
1 changed files with 28 additions and 10 deletions

View File

@ -1,15 +1,33 @@
### 73.8. 远程调试一个使用Gradle启动的Spring Boot项目 ### 73.8. 使用Ant构建可执行存档archive
想要为使用Gradle启动的Spring Boot应用添加一个远程调试器你可以使用build.gradle的applicationDefaultJvmArgs属性或`--debug-jvm`命令行选项。 想要使用Ant进行构建你需要抓取依赖编译然后像通常那样创建一个jar或war存档。为了让它可以执行
build.gradle 1. 使用合适的启动器配置`Main-Class`比如对于jar文件使用JarLauncher然后将其他需要的属性以manifest实体指定主要是一个`Start-Class`。
```gradle 2. 将运行时依赖添加到一个内嵌的'lib'目录对于jar`provided`(内嵌容器)依赖添加到一个内嵌的`lib-provided`目录。记住***不要***压缩存档中的实体。
applicationDefaultJvmArgs = [ 3. 在存档的根目录添加`spring-boot-loader`类(这样`Main-Class`就可用了)。
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
] 示例:
```xml
<target name="build" depends="compile">
<copy todir="target/classes/lib">
<fileset dir="lib/runtime" />
</copy>
<jar destfile="target/spring-boot-sample-actuator-${spring-boot.version}.jar" compress="false">
<fileset dir="target/classes" />
<fileset dir="src/main/resources" />
<zipfileset src="lib/loader/spring-boot-loader-jar-${spring-boot.version}.jar" />
<manifest>
<attribute name="Main-Class" value="org.springframework.boot.loader.JarLauncher" />
<attribute name="Start-Class" value="${start-class}" />
</manifest>
</jar>
</target>
``` ```
命令行: 该Actuator示例中有一个build.xml文件可以使用以下命令来运行:
```shell ```shell
$ gradle run --debug-jvm $ ant -lib <path_to>/ivy-2.2.jar
```
在上述操作之后,你可以使用以下命令运行该应用:
```shell
$ java -jar target/*.jar
``` ```
详情查看[Gradle应用插件](http://www.gradle.org/docs/current/userguide/application_plugin.html)。