搞死人的java Comm.jar包!还是有问题

sungine 2007-12-09 08:12:24
需要开发一个RS232接口的程序,就开始从网上下载各种资料。
先是以为配好了环境
用了网上的简单示例程序,,打死也打不开com口,无论怎么改也检测不到串口。
后来才发现是Win32平台还有个搞死人的补丁Win32Com.dll
看了网上的各种说法,于是就在电脑中各处安放这个东西,
接下来就出现一个奇怪的现象:MyEclipse,JBuilder都能让程序正常运行,打开各种接口;
就是Eclipse 怎么也打不开,就跟没弄那个Win32Com.dll之前一样。
然后就开始在网上找到了加载驱动的代码,开始尝试在代码中加载接口驱动,
结果出了更奇怪的现象:一直抱一个驱动重复加载的错误,程序还是打不开接口。
正百思不得其解的时候,在网上看到一个真正高人的帖子,,详细介绍了sun对于这个bug的修正过程,到了1.3之后驱动加载的代码才出现,高人也是按照官方的说法配置好环境,结果遇到了跟我一样的问题。
到此经他指点我终于发现原来是Comm包出现了重复加载的冲突,因为在JRE\ext文件夹中我按照官方的说法加入了Comm包,而且在工程属性配置中我又一次加入了这个包,所以出现了冲突.
于是将JRE中的包删除掉,最后Eclipse,MyEclipse,Jbuilder都完美的运行了程序.
正在我高兴的时候,才发现用JBuilder生成的EXE,Jar文件都回到了最开始的无法打开端口的状态;
而Eclipse生成的Jar文件居然无法运行出图形界面.
我以为是JRE的问题就把删掉的包补了回去,可结果依旧....
到这里....我崩溃了
只能求教这里的高手们了..
给我条活路把! ToT
程序再出不来就该有官司要吃了...

...全文
1172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sungine 2007-12-10
  • 打赏
  • 举报
回复
O 领悟了..我再试下。。多谢多谢..
sungine 2007-12-10
  • 打赏
  • 举报
回复
HOHO问题解决了,来跟大家分享下。

最后我发现了了打包确实也是有讲究的,,什么都得配好了。
要么是在那个MANIFEST.MF文件里把所有要用到的类啊都添加进去
要么就把所有用到的类.class文件打好包包放到jar文件里,要不就会出现问题。
最后就是我发现的一点:
jbuilder在运行comm包的时候似乎可以自动加载接口驱动,而不需要我们手工加入驱动代码。
而当打好jar包之后,如果代码里没有驱动还是什么接口也打不开。
哈哈。。o(∩_∩)o...哈哈
再次感谢 sunyujia 真是好人啊!!
sunyujia 2007-12-09
  • 打赏
  • 举报
回复
没弄过你说的东西不过从情况上看

1.一些程序加载dll时写的确实有问题即便在path下面的dll也会找不到
建议放到system32,或path下,Eclipse会在system32下面找dll,path下面我遇到过找不到的情况
2.官方的说法一般来说不是绝对的我遇到过很多回
我不建议放到JRE\ext,虽然很多官方都放这里
如果你用ide工具你应该加到classpath,如果不用ide工具应该写到启动程序的批处理里面,任何程序都可以用批处理启动啊
3.jar如果出错你可以考虑手工打包或使用ant,jar文件启动失败可能原因没有找到main class (jar文件基础应该百度一下) 没有加载到第三方的lib.没有加载到第三方的dll

希望能帮到你
runshine 2007-12-09
  • 打赏
  • 举报
回复
同情乃!
一次试验课也是写一个RS232接口的串行通信程序
拿着COMM包不知道该怎么办,Win32Com.dll更是该放哪才正确都没找到
最后一郁闷,实验换了个语言写,还好只是网络实验不限语言

62,623

社区成员

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

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