jsmooth 奇怪问题,小女希望路过的进来看看

小小都不懂 2010-02-08 03:53:37
我的java程序用Eclipse 已经导出jar文件了 里面有我用到的其他的jar 如: dom4j-1.6.1.jar

现在我想用 jsmooth 这个做成exe 文件。现在就是我本机器可以运行
但是拿到别人的机器就出错

我用的是1.6的jdk

其他的机器上都没有1。6 有个同事她有1.6 在她的机器上可以运行
没有1.6 的都不行
我想问问什么呢?

很急 大家帮帮忙 谢谢了
...全文
223 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小都不懂 2010-02-11
  • 打赏
  • 举报
回复
已经解决了
谢谢大家
结贴了
小小都不懂 2010-02-10
  • 打赏
  • 举报
回复
我用的是Eclipse 的export 选择的是 runnable jar file
不是自动就建立了MANIFEST.MF文件吗?
小小都不懂 2010-02-10
  • 打赏
  • 举报
回复
引用 12 楼 haobaofufob 的回复:
没有反应说明报异常了呗,你的异常轨迹输出到哪里了?
这通常是你的程序对第三方jar包有依赖造成的,在打jar包时要自己指定MANIFEST.MF文件,内容如下:
Manifest-Version: 1.0
Class-Path: commons-io-1.4.jar hbftools.jar
Main-Class: com.hengbao.execute.Excute
然后把第三方jar和你导出的jar放到同一个目录下,这样就可以了,我用的exe4j生成的exe文件,指定外部jre,就可以了

java.lang.SecurityException: JCE cannot authenticate the provider BC
我报的异常是这个
haobaofufob 2010-02-09
  • 打赏
  • 举报
回复
没有反应说明报异常了呗,你的异常轨迹输出到哪里了?
这通常是你的程序对第三方jar包有依赖造成的,在打jar包时要自己指定MANIFEST.MF文件,内容如下:
Manifest-Version: 1.0
Class-Path: commons-io-1.4.jar hbftools.jar
Main-Class: com.hengbao.execute.Excute
然后把第三方jar和你导出的jar放到同一个目录下,这样就可以了,我用的exe4j生成的exe文件,指定外部jre,就可以了
小小都不懂 2010-02-09
  • 打赏
  • 举报
回复
引用 10 楼 nihaozhangchao 的回复:
哪是因为打包的时候没有把jre打进去。也就是说没有java运行环境。

把java 6 jre 一起打进去就行了。


关键是我在jar 的时候就已经进不去了

我打完的jar 可以进入登陆画面 但是再点击登录按钮的时候就什么都没反应了
SambaGao 2010-02-09
  • 打赏
  • 举报
回复
哪是因为打包的时候没有把jre打进去。也就是说没有java运行环境。

把java 6 jre 一起打进去就行了。
小小都不懂 2010-02-09
  • 打赏
  • 举报
回复
真的一个人也不进来帮帮忙呀!!!呜呜。。。。。。。。。。。。
小小都不懂 2010-02-09
  • 打赏
  • 举报
回复
我在程序中发现一个
import javax.crypto.Cipher

Cipher 我在调用它的时候 程序就不走了
我把log 打在调用它的后面 都没有输出来
不知道为什么

我就是把 java -> jar -> exe
在我的程序开发环境没有问题
希望做过类似的朋友可以帮帮忙!!!
小小都不懂 2010-02-09
  • 打赏
  • 举报
回复
引用 5 楼 bayougeng 的回复:
jre有免安装版的。
你应该把jre与你的jar一起打包。
你的工程最后应该是这样一个结构:
/yourArchiveName
+jre
+bin
+...
yourMainJar.jar
run.bat

+表示是目录

在run.bat中应该是类似这样的语句:
set CURRENT_DIR=%cd%
rem 注释,设置CLASSPATH的工作
...
set EXECUTABLE=%CURRENT_DIR%\jre\bin\java
call "%EXECUTABLE%" start

当然,你可以像办法做成exe文件,而不是bat文件。
至于bat的写法,如何往java命令中传递参数,还是要你自己去搞定。我只是告诉你一个思路。


我是没把jre一起打包呵呵 我以为 jsmooth 这个东东可以集成了 原来不是

但是现在是可以运行了
但是 新的问题又来了
我可以进login 画面 但是 点登陆就没什么反应了
不知道为什么 我在Eclipse 开发下 可以正常的进入

谁能告诉我为什么呢?
zings 2010-02-08
  • 打赏
  • 举报
回复
jsmooth是什么东东?、
呵呵。。。
bayougeng 2010-02-08
  • 打赏
  • 举报
回复
jre有免安装版的。
你应该把jre与你的jar一起打包。
你的工程最后应该是这样一个结构:
/yourArchiveName
+jre
+bin
+...
yourMainJar.jar
run.bat

+表示是目录

在run.bat中应该是类似这样的语句:
set CURRENT_DIR=%cd%
rem 注释,设置CLASSPATH的工作
...
set EXECUTABLE=%CURRENT_DIR%\jre\bin\java
call "%EXECUTABLE%" start

当然,你可以像办法做成exe文件,而不是bat文件。
至于bat的写法,如何往java命令中传递参数,还是要你自己去搞定。我只是告诉你一个思路。
ilrxx 2010-02-08
  • 打赏
  • 举报
回复
兼容性问题,贴下报的什么错误?应该是你的jsmooth里面有对jdk1.5以上版本某些方法的依赖
siy020513 2010-02-08
  • 打赏
  • 举报
回复
引用 2 楼 plplum 的回复:
连JDK一起打包,没有是不行的


跟机器环境有关,一起打包 一切搞定
plplum 2010-02-08
  • 打赏
  • 举报
回复
连JDK一起打包,没有是不行的
cnetwei 2010-02-08
  • 打赏
  • 举报
回复
我没有使用过jsmooth,但我想 这很好理解,这是对"环境"的依赖。

如果你的程序中没有使用到JDK1.6中的特性,那么你可以试试用jsmooth在JDK1.5(或更低版本上)重做exe,也许可以增大通用性。因为理论上JDK1.6 是兼容 1.5等低版本的;

另外,你还可以再仔细 研究研究 jsmooth的使用文档,看它是否有提供 将JDK一起打包到exe的功能,如果有的话,我想你的exe会变大,但是通用性 会变好;

不过说实话,将java程序变成 exe 是个倒退,若非有特殊需求,就不要在这个上面浪费过多的时间了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧