需要开发一个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
程序再出不来就该有官司要吃了...

解决方案 »

  1.   

    同情乃!
    一次试验课也是写一个RS232接口的串行通信程序
    拿着COMM包不知道该怎么办,Win32Com.dll更是该放哪才正确都没找到
    最后一郁闷,实验换了个语言写,还好只是网络实验不限语言
      

  2.   

    没弄过你说的东西不过从情况上看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希望能帮到你
      

  3.   

    HOHO问题解决了,来跟大家分享下。最后我发现了了打包确实也是有讲究的,,什么都得配好了。
    要么是在那个MANIFEST.MF文件里把所有要用到的类啊都添加进去
    要么就把所有用到的类.class文件打好包包放到jar文件里,要不就会出现问题。
    最后就是我发现的一点:
    jbuilder在运行comm包的时候似乎可以自动加载接口驱动,而不需要我们手工加入驱动代码。
    而当打好jar包之后,如果代码里没有驱动还是什么接口也打不开。
    哈哈。。o(∩_∩)o...哈哈
    再次感谢 sunyujia 真是好人啊!!