适用于Java应用程序的Mac启动程序脚本

时间:2015-02-05 06:07:01

标签: java macos bash shell launcher

我需要使用便携式JRE启动Jar文件。 它适用于Windows,感谢launch4j,它可以在Ubuntu上运行,感谢我,但不是在Mac上.....我无法测试它。

申请的路径树:

    abcmap/
          launcher.command
          bin/
              abcmap.jar
              jre/
                  bin/
                      java

认为它就像Unix系统一样,我试过这个(没有指定bash):

./bin/jre/bin/java -Xms512m -Xmx1024m -jar ./bin/abcmap.jar

但是出现了这个错误:

    MacBook-Pro:~ frcstnt$ /Applications/abcmap-mac/abcmap.command; 
    exit;
    /Applications/abcmap-mac/abcmap.command: line 1:
    bin/jre/bin/java: No such file or directory
    logout

所有文件都是rwx,
所有文件均为UTF8,无BOM 我试着用Notepad ++改变行尾到Unix和“Old Mac”,

我的网站上有档案:
http://abc-map.fr/download/
https://translate.google.fr/translate?hl=fr&sl=fr&tl=en&u=http%3A%2F%2Fabc-map.fr%2F

有人可以帮我吗?

编辑:我认为我的问题出现在启动器中,可能是编码还是错误的命令?

编辑:感谢Wim的回答,它有效。这是脚本:

#!/bin/bash 
SCRIPTDIR=$(dirname $0) 
cd $SCRIPTDIR 
${SCRIPTDIR}/bin/jre/bin/java -jar ${SCRIPTDIR}/bin/abcmap.jar

3 个答案:

答案 0 :(得分:1)

路径./bin/jre/bin/java将相对于当前目录解析,而不是相对于命令文件的位置。尝试从命令所在的目录运行命令时会发生什么。

答案 1 :(得分:0)

我想我已经感谢Wim Deblauwe了。我用这个:

#!/bin/bash
SCRIPTDIR=$(dirname $0)
cd $SCRIPTDIR
${SCRIPTDIR}/bin/jre/bin/java -jar ${SCRIPTDIR}/bin/abcmap.jar

找到脚本目录,转到此目录并开始操作。

答案 2 :(得分:-1)

看起来你可能还没有安装Java Runtime Evironment。您应该尝试运行java -version或至少java -hjava --help

如果您输出的内容如下:

java: command not found

您应下载并安装最新的JRE,然后重试。

但是,如果您看到java版本,请先尝试使用cd转到jar文件目录,然后使用:

java -jar -otheroptionshere jarfile.jar

我希望这有帮助!告诉我,如果你还有问题。