我本身不是做java的所以不太熟。自己做了一个向串口发送数据的类。将Comm.jar 手动放入到jre的各个文件夹中是可以正常运行的。
但是客户那边的要求是将这个类打包成jar,串口API也打包进去并根据操作系统的类型自动加载不同的API。
我用了Eclipse自带的导出和Fat Jar的打包 都无法正常加载那些API。
不知道应该如何打包API到jar中。
因为我不是搞java的如果有知道的能否提供详细点的说明。太专业的我怕看不懂。

解决方案 »

  1.   

    这个就有点麻烦 默认是从jre/lib里面读取comm.jar的你可以试试看在java build path里面把这个comm.jar加载进来 然后用exe4j打包成jar或者如果是application的话  你可以打成runnable jar
      

  2.   

    用eclipse生成jar包 a.jar把comm.jar解包
    把解包后的文件都压缩到打好的a.jar包里就可以了
      

  3.   

      用eclipse打包吧,不包含第三方jar直接打包就可用。
      如果eclipse需打包包含第三方jar的工程,手动打包相当麻烦,可用eclipse下的插件fatjar
      
      下载地址:http://sourceforge.net/projects/fjep/files/fatjar/  解压文件,将plugins目录下的插件文件放到eclipse的plugins文件夹中,重启eclipse  右键单击项目,可以找到Build Fat Jar的选项,说明插件安装成功。  如果没有这个选项,进入eclipse的安装目录将configuration文件夹下的org.eclipse.update删除  重启eclipse即可。
      

  4.   

    3楼的你是闭这眼看论坛吗?请你看看我的第4句话:我用了Eclipse自带的导出和Fat Jar的打包 都无法正常加载那些API。 
    问题解决了API种的.dll和.so不能放在jar种加载。要根据操作系统把相应的当作资源读取出来以后放到一个临时目录中,使用System.load 加载。
      

  5.   

    我倒是顺利运行了串口程序但是当我把打包在源代码路径下jar包考到别的地方的时候,就运行不了了?楼主遇到过类似问题么?