我想给J2SE程序打包,程序中用了SWING来做UI。我先后用了ECLIPSE NETBEANS JBUILDER三种IDE打包,都没有达到我的要求,所以发帖求助,望知道的高手指点一二,先行谢过。JAR我是能打出来的,而且用JBUILDER还可以打出EXE来,但是有两个问题:1.程序中使用的资源打包进去以后就找不到了,包里是有,但是程序读不到这个资源了,路径我试了很多,无论我怎么写,都找不到资源。2.J2ME程序我混淆过,但是J2SE程序我不知道怎么混淆,用JB混淆会出问题,LOG报错如下:
# ERROR - corrupt class file: cracker/About.class (Incompatible version number for class file format.)# Unrecoverable error during obfuscation:
# java.lang.NullPointerException
java.lang.NullPointerException
at a.a.a.s.for(Unknown Source)
at a.a.a.s.a(Unknown Source)
at RetroGuard.a(Unknown Source)
at RetroGuard.a(Unknown Source)
at RetroGuard.main(Unknown Source)
用ECLIPSE NETBEANS我还不知道怎么混淆,NETBEANS混淆J2ME程序是很方便的,在打包里直接就有,还可以调混淆级别,但是J2SE程序就没这么一项,好郁闷。
不混淆的话,即便打包成EXE文件也是可以解压缩,然后反编译的,我试过了,EXE打包其实就是给JAR加了一个壳。我看到别人发布的程序这些问题都可以解决,就是我研究了好久搜贴也找不到相关资源。
另外我还想知道如何打包,才能够让使用者不需要装JDK也能运行我的程序?
# ERROR - corrupt class file: cracker/About.class (Incompatible version number for class file format.)# Unrecoverable error during obfuscation:
# java.lang.NullPointerException
java.lang.NullPointerException
at a.a.a.s.for(Unknown Source)
at a.a.a.s.a(Unknown Source)
at RetroGuard.a(Unknown Source)
at RetroGuard.a(Unknown Source)
at RetroGuard.main(Unknown Source)
用ECLIPSE NETBEANS我还不知道怎么混淆,NETBEANS混淆J2ME程序是很方便的,在打包里直接就有,还可以调混淆级别,但是J2SE程序就没这么一项,好郁闷。
不混淆的话,即便打包成EXE文件也是可以解压缩,然后反编译的,我试过了,EXE打包其实就是给JAR加了一个壳。我看到别人发布的程序这些问题都可以解决,就是我研究了好久搜贴也找不到相关资源。
另外我还想知道如何打包,才能够让使用者不需要装JDK也能运行我的程序?
发布时with-jre,是如何打包,打包时候要做特殊处理么?2.我看有位兄弟提到安装包,我更想知道如何把软件发布成安装包?并且with-jre。3.混淆问题如何解决?我用的JDK版本是1.6,我在JB里先后引入并换了混淆JAR,但是还是不能打出混淆包,我是否是继续去下载新版本的混淆器继续试,还是JB里就是混淆不了呢?