Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在maven appsembler程序脚本中设置java cmd_Java_Maven_Appassembler - Fatal编程技术网

在maven appsembler程序脚本中设置java cmd

在maven appsembler程序脚本中设置java cmd,java,maven,appassembler,Java,Maven,Appassembler,我需要为maven appassembler设置我的JAVA_HOME/JAVACMD,以便在脚本中设置它,并在运行脚本时覆盖系统JAVA_HOME属性 我知道如何为jsw设置(setwrapper.java.command)做到这一点,但对于基本程序来说,这似乎并不正确 我该怎么做 appassembler手册页并没有真正起到帮助作用 我用参数解决了这个问题。我从Appassembler源代码复制了该文件,并将其放在项目目录中的Appassembler目录中,对其进行编辑,使JAVACMD变量

我需要为maven appassembler设置我的
JAVA_HOME/JAVACMD
,以便在脚本中设置它,并在运行脚本时覆盖系统
JAVA_HOME
属性

我知道如何为jsw设置(set
wrapper.java.command
)做到这一点,但对于基本程序来说,这似乎并不正确

我该怎么做


appassembler手册页并没有真正起到帮助作用

我用参数解决了这个问题。我从Appassembler源代码复制了该文件,并将其放在项目目录中的
Appassembler
目录中,对其进行编辑,使JAVACMD变量具有我想要的值,并相应地配置了我的
pom.xml

在最初的脚本中,我只是简单地更改为我需要的内容,如:

if "%JAVACMD%"=="" set JAVACMD="%BASEDIR%"\jdk-13.0.1\bin\java
以下是我的pom.xml:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>appassembler-maven-plugin</artifactId>
    <executions>
        ...
    </executions>
    <configuration>
        <windowsScriptTemplate>${basedir}/appassembler/windowsBinTemplate</windowsScriptTemplate>
        ...
    </configuration>
</plugin>

org.codehaus.mojo
appassembler maven插件
...
${basedir}/appassembler/windowsBinTemplate
...

仅仅像这样运行安装脚本还不够吗
JAVA\u HOME=/path/to/jdk script.sh
?这将覆盖系统默认值,比在脚本中硬编码路径要好一点,因为您可以轻松地在不同的JVM位置使用它。我更希望它在脚本中,因为我们正在从1.7升级到java 1.8,还没有准备好升级java home并可能升级我们的所有应用程序,但该命令只会在您运行
script.sh
时覆盖java_home。它不会覆盖整个系统…同意。但是我们有一些用户不想先运行export命令。如果这是不可能的,那就别无选择……我明白了。您能提供自己的包装器脚本来设置该变量并调用maven appsembler脚本吗?