Spring Boot Maven和Gradle插件现在可以为Linux / Unix操作系统生成完整的可执行文件存档了。运行完全可执行的JAR就像键入一样简单:
$ ./myapp.jar
我的问题是在这种情况下如何设置-D属性,例如
-Dspring.profiles.active=test
另外,如果服务器未安装jdk,此完全可执行的jar仍可运行吗?
有两种配置属性的方法:
1:
通过在单独的配置文件中指定它们。Spring Boot将查找一个名为like的文件,该文件JARfilename.conf应与JAR文件存储在同一文件夹中。您可以在其中添加环境变量JAVA_OPTS:
JARfilename.conf
JAVA_OPTS
JAVA_OPTS="-Dpropertykey=propvalue"
2:
或者,您可以在执行应用程序之前在外壳程序中指定环境变量的值:
JAVA_OPTS="-Dpropertykey=propvalue" ./myapp.jar
请参阅文档以获取可用变量的完整列表:http : //docs.spring.io/spring- boot/docs/current-SNAPSHOT/reference/htmlsingle/#deployment- service
关于第二个问题:要执行JAR,您不需要JDK,JRE就足够了(但至少需要这样做,如果服务器上没有安装任何Java,则应用程序将无法运行) 。