站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Eclipse 专题Linux下有没有像win下的jsmooth的可执行文件封装工具?

Linux下有没有像win下的jsmooth的可执行文件封装工具?

摘要: Linux下有没有像win下的jsmooth的可执行文件封装工具?


RT!像是JBuilder的功能。


JBuilder不是可以直接生成Linux的可执行文件的么


我现在用Eclipse了,没装Jbuilder啊


那么如何将Eclipse打包jar号的文件用JBuilder装成exe


打了也没用, jb打包的压缩方式似乎有点问题,很多linux下认不出 ,linux下 还是老老实实用shell调用把


Eclipse的插件有没有呢?


有fatjar 查插件, 非常好的打包工具,一直在用,不过调用还是要shell 不能像windows那样双击 jar就能启动


用JSmooth来打包,到Linux下当然不能运行啦,JSmooth是用来把jar文件做成windows的EXE可执行文件的。




楼上说的是啊,我就正在找打包成Linux可执行文件的工具。


自己手写一个简单的SHELL脚本就可以了。linux下的可执行文件是有文件的属性所确定的。


楼上能不能给个例子,本人没用过linux可是要做linux下的东西,所以在windows下用java一直过去。


以下是LumaQQ的启动文件,略显复杂,供参考。

#!/bin/bash

# 判断执行文件的类型,如果是一个符号链接,得到这个链接的目的路径,在以前的版本中,这个任务是用
# readlink -f 命令完成的。这种作法稍微有些问题,比如你的系统里面可能没有readlink命令,或者低版本的
# readlink还不支持-f参数,所以在这里先采用readlink,如果readlink失败,则再用file命令和一个
# 模式匹配来得到目的路径。目前我不确定是否每个平台上的file命令都是返回symbolic link to 这种字符串,
# 如果不是,把symbolic link to 替换成你的file命令返回的那样
PREFIX=
if [ -L "$0" ]; then
PREFIX=`readlink -f "$0"`
if [ $? -eq 0 ]; then
PREFIX=`dirname "$PREFIX"`
else
PREFIX=`file "$0"`
PREFIX=${PREFIX##*symbolic link to }
PREFIX=`dirname "$PREFIX"`
fi
else
PREFIX=`dirname "$0"`
fi

# 在这里我判断得到的路径是否是绝对路径,如果不是绝对
# 路径,我要再做一些处理得到绝对路径
OLD_DIR=`pwd`
case $PREFIX in
/*)
;;
*)
cd "$PREFIX"
PREFIX=`pwd`
;;
esac

# 这里检查你的用户目录下是否有.lumaqq目录,如果没有,
# 会自动建立一个,用户的所有QQ相关信息将保存在这个
# 目录下,所以在多用户的机器上,你应该把这个目录设置
# 成唯你可读
if [ ! -e "$HOME/.lumaqq" ]; then
mkdir "$HOME/.lumaqq"
fi

# 这里对LumaQQ的一些目录和文件做一些链接,这个地方使用
# 了-f参数,所以即使你挪动了LumaQQ的目录到另外一次地方
# 下次运行也不会受影响
cd $HOME/.lumaqq
ln -sf "$PREFIX/log4j.properties" "$HOME/.lumaqq/log4j.properties"
ln -sf "$PREFIX/xml"
ln -sf "$PREFIX/sound"
ln -sf "$PREFIX/QQWry.dat" "$HOME/.lumaqq/QQWry.dat"

# 这里我设置Java到类路径,LumaQQ安装目录下面的lib目录
# 包含了所有需要用到的jar文件,这些都必须加到类路径中
cp=
cd "$PREFIX"
for i in ./lib/*.jar; do
cp="$i":$cp
done


# 搜索JRE,首先查看是否是自带JRE版本,然后检查JAVA_HOME是否设置,最后使用which java,如果都失败
# 显示提示信息
if [ -e "$PREFIX/java" ]; then
"$PREFIX/java/bin/java" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq2006" &
elif [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ]; then
"$JAVA_HOME/bin/java" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq2006" &
else
JAVACMD=`which java`
if [ -n "$JAVACMD" ] && [ -x "$JAVACMD" ]; then
"$JAVACMD" -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq2006" &
elif [ -x /usr/bin/java ]; then
/usr/bin/java -Djava.library.path="$PREFIX/swt" -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq2006" &
else
echo "No JRE can be found, please set JAVA_HOME environment"
fi
fi

cd "$OLD_DIR"



↑返回目录
前一篇: Eclipse 有没有可视化编辑界面的插件
后一篇: RCP Export发布时出错,请帮忙,谢谢。