我已经定义了一个名为debug的任务,它应该设置应用程序插件的applicationDefaultJvmArgs,以便spring-boot停止并等待调试器。
我想将此任务与我定义的另一个名为local的任务结合使用,该任务设置了一个spring.profiles.active变量。
apply plugin: 'spring-boot'
apply plugin: 'application'
apply plugin: 'org.flywaydb.flyway'
dependencies {
compile group: "org.apache.camel", name: "camel-netty4-http", version: camelVersion
compile group: "org.apache.camel", name: "camel-spring-boot", version: camelVersion
compile group: "org.springframework.boot", name: "spring-boot-starter", version: "1.2.1.RELEASE"
}
flyway {
url = 'jdbc:mysql://localhost:3306/foobar'
user = 'foo'
password = 'bar'
}
task local {
tasks.withType(org.springframework.boot.gradle.run.BootRunTask) {
systemProperty('spring.profiles.active', 'local')
}
}
task debug << {
project.ext {
applicationDefaultJvmArgs = [
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
]
}
}
当我使用gradle local debug
调用gradle时,设置了applicationDefaultJvmArgs但是当我调用gralde local
时它们也被设置了吗?
我尝试过
task debug << { ...
但这不会产生任何影响。
答案 0 :(得分:0)
applicationDefaultJvmArgs在哪里定义?你能为你的构建脚本提供完整的代码吗? 我相信下一段代码应该可以完成这项工作:
task debug << {
project.ext {
applicationDefaultJvmArgs = [
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
]
}
}
变化: