Update 73.8. Build an executable archive with Ant.md
parent
e95c93e9a6
commit
3b044a6061
|
@ -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:
|
||||
```gradle
|
||||
applicationDefaultJvmArgs = [
|
||||
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
|
||||
]
|
||||
1. 使用合适的启动器配置`Main-Class`,比如对于jar文件使用JarLauncher,然后将其他需要的属性以manifest实体指定,主要是一个`Start-Class`。
|
||||
2. 将运行时依赖添加到一个内嵌的'lib'目录(对于jar),`provided`(内嵌容器)依赖添加到一个内嵌的`lib-provided`目录。记住***不要***压缩存档中的实体。
|
||||
3. 在存档的根目录添加`spring-boot-loader`类(这样`Main-Class`就可用了)。
|
||||
|
||||
示例:
|
||||
```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
|
||||
$ 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)。
|
||||
|
|
Loading…
Reference in New Issue