hie*_*ew1 4 java eclipse linux executable wrapper
我一直在寻找关于此的许多类似帖子,但我仍然找不到答案.我想将.java程序转换为Linux可执行文件,不带.jar扩展名.我该怎么做?我正在尝试使用Launch4j java包装器,JWrapper,IzPack,制作.sh,制作.bat,使用java -jar myFile.jar等运行它,但它们都没有工作.有些程序复杂且难以调试.有没有直接的方法将.java文件或.jar文件转换为Linux可执行文件?
我需要将此程序作为Linux可执行文件整体传递到另一个程序中,该程序将此程序作为参数.
Dyo*_*gio 11
假设您有一个名为helloworld.jar的可运行jar
将下面的Bash脚本复制到名为stub.sh的文件中
#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && MYSELF="./$0"
java=java
if test -n "$JAVA_HOME"; then
java="$JAVA_HOME/bin/java"
fi
java_args=-Xmx1g
exec "$java" $java_args -jar $MYSELF "$@"
exit 1
Run Code Online (Sandbox Code Playgroud)
然后将jar文件附加到保存的脚本,并使用以下命令授予对文件的执行权限:
cat stub.sh helloworld.jar > helloworld.run && chmod +x helloworld.run
Run Code Online (Sandbox Code Playgroud)
就这样!
现在您只需在shell终端上键入helloworld.run即可执行该应用程序.
该脚本足够智能,可以透明地将任何命令行参数传递给Java应用程序.
致谢:Paolo Di Tommaso
资料来源:https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable
我找到了一个解决方案,这正是我想要经过几个小时的搜索和尝试后的想法.它是在linux中使用gcj命令.
它的工作方式类似于Ccc的gcc和C++的g ++,它将C或C++程序编译成可执行文件.
首先使用终端键入以下命令安装gcj:
sudo apt-get install gcj-jdk
Run Code Online (Sandbox Code Playgroud)
之后,cd进入.jar文件所在的目录,假设.jar文件是myFile.jar,然后执行:
gcj myFile.jar -o newNameofTheFile --main=theMainClassNameofTheFile
Run Code Online (Sandbox Code Playgroud)
编译.jar文件.它应该像可执行文件一样工作,只需在命令行中运行它,如下所示:
./newNameofTheFile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10605 次 |
| 最近记录: |