我尝试设置JAVA_OPTS,但生成的脚本unter build / bootScripts不接受配置。
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '2.0.2.RELEASE'
id "io.spring.dependency-management" version "1.0.5.RELEASE"
}
version '1.0-SNAPSHOT'
repositories {
jcenter()
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = "kic.data.server.Server"
applicationDefaultJvmArgs = [
'-Dkic.data.persistency.path=./data'
]
在bootScripts / server中我只得到一个空变量
# Add default JVM options here. You can also use JAVA_OPTS and SERVER_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
我还尝试将一个conf文件放在lib文件夹中的jar文件中,遗憾的是,该文件也不起作用。
答案 0 :(得分:0)
我是这样做的:
使用您的JVM选项创建一个文件。例如javaOpts.conf:
JAVA_OPTS="$JAVA_OPTS -Dkic.data.persistency.path=./data -Xmx1024m"
spring boot插件自动提供bootJar任务,可用于生成可运行的jar。您可以通过在build.gradle文件中添加conf文件将该文件插入启动脚本:
bootJar{
launchScript {
properties 'inlinedConfScript': 'path/to/your/javaOpts.conf'
}
}
这会将自定义conf脚本中的任何内容转储到spring boot生成的启动脚本中。它没有记录here,所以它可能会改变,但default launch script在运行jar时包含JAVA_OPTS环境变量。
运行bootJar任务(gradlew bootJar
),它将创建一个可以从命令行运行的可执行jar:./myBootJar.jar
。
看起来你也试图为你的jar设置mainClassName。您也可以使用bootJar任务执行该操作:
bootJar{
mainClassName = 'kic.data.server.Server'
launchScript {
properties 'inlinedConfScript': 'path/to/your/javaOpts.conf'
}
}