当前位置: 首页 > 知识库问答 >
问题:

Spring Boot可执行文件JAVA_OPTS用空格覆盖

计寒
2023-03-14

我正在使用Spring Boot1.4.1创建一个可执行的Unix JAR文件(按照这里的说明)。我正在使用一个自定义的.conf文件在运行时设置java_opts值。这与以下内容配合得很好:

java_opts=“-dspring.profiles.active=prod-dflyway.validate-on-migrate=false-djavax.net.ssl.truststore=/var/myapp/truststore.jks-djavax.net.ssl.truststorepassword=changeit”

现在我想重写我在application.yml文件中配置的一个参数(它嵌入在JAR中)。问题是这个参数的值中有空格。

我试过:

java_opts=“-dmy.param=one two-dspring.profiles.active=prod-dflyway.validate-on-migrate=false-djavax.net.ssl.truststore=/var/myapp/truststore.jks-djavax.net.ssl.truststorepassword=changeit”

...还有...

java_opts=“-dmy.param=One\two-dspring.profiles.active=prod-dflyway.validate-on-migrate=false-djavax.net.ssl.truststore=/var/myapp/truststore.jks-djavax.net.ssl.truststorepassword=changeit”

...还有...

java_opts=-dmy.param=One\Two-dspring.profiles.active=prod-dflyway.validate-on-migrate=false-djavax.net.ssl.truststore=/var/myapp/truststore.jks-djavax.net.ssl.truststorepassword=changeit

...还有...

错误:找不到或加载主类2

...或者...

/var/myapp/myapp.conf行1:2:找不到命令

arguments=(-Dsun.misc.URLClassPath.disableJarChecking=true $JAVA_OPTS -jar $jarfile $RUN_ARGS "$@")

共有1个答案

程皓轩
2023-03-14

发现用反斜杠转义嵌入的双引号起到了一定的作用,如下所示:

JAVA_OPTS="-Dmy.param=\"One Two\" -Dspring.profiles.active=prod -Dflyway.validate-on-migrate=false -Djavax.net.ssl.trustStore=/var/myapp/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit"
 类似资料:
  • 所以我尝试从Windows迁移到Linux。今天我尝试用Emacs而不是Windows IDE编写和编译东西。这是我的示例代码: 这是我使用esc-x从emacs编译的- 在终端上,我使用“hello”执行hello/你好。然后我把代码改成了“cout” 它为什么这么做?

  • 问题内容: 我有一条命令需要在Java中按照以下方式运行: 当路径没有空格时,此命令可以正常工作,但是当我有空格时,似乎无法正常工作。我尝试了以下事情,运行Java 1.7 以及 但是似乎两者都没有做任何事情。关于我在做什么错的任何想法吗? 问题答案: 传递给命令的每个参数都应该是一个单独的String元素。 所以你的命令数组应该看起来更像是… 现在,每个元素将在程序变量中显示为单独的元素 我也极

  • 我有一个命令,我需要在java中按照以下方式运行: 当路径没有空格时,这个命令可以正常工作,但是当我有空格时,我似乎无法让它工作。我尝试了以下方法,运行Java1.7 以及;以及 但两人似乎都没有采取任何行动。有没有想过我做错了什么??

  • 我正在尝试为一个使用Quarkus和JavaFx的应用程序构建一个本机可执行文件。我实现这一点的唯一方法是将许多javaFx类标记为——在运行时初始化,但这导致在尝试启动应用程序时失败,并显示以下消息: 我想我需要在构建之前添加javafx模块,但不知道如何从Maven实现这一点。如果有人能帮助我,我将非常感激。提前谢谢。 PS:如果有人知道使用springboot的替代解决方案,请分享:) 更新

  • java.io.FileNotFoundException:E:\testcode\test(系统找不到指定的文件) 在java.io.FileInputStream.Open(本机方法)在java.io.FileInputStream.(未知源)在com.org.FileSpratortTest.Main(FileSpratortest.java:16) 它不显示整个文件路径,我知道我需要把它作

  • 终端中使用lldb运行可执行文件 进入lldb环境, 在终端内输入lldb回车 lldb 使用file命令, 将可执行文件包装成一个target (lldb) file test Current executable set to '/Users/shenyj/Documents/CodeForTest/staticOCLib/test' (x86_64). 运行可执行文件, 在刚刚的l