rmic 命令、jar 命令、Java命令

最近开发遇到一个大难题,JDK版本冲突。工作以来头一回遇到这种问题,有点手足无措。最后在公司平台的淫威下(版本为JDK1.4),我不得不妥协:在JDK1.4下头重新开放。

考虑到与平台接触的就小部分的功能,决定用RMI来实现该功能。好在原先开发的功能块之间的耦合度不是很高,直接将单个功能剥离出来的难度不是很大。剩下的就只需要考虑JDK1.4下编译、打包、部署和运行了。

看似很简单的过程,在执行过程中却遇到不小的麻烦,JDBC链接数据库、rmic生成存根和骨架文件命令、jar打包命令…… 好多看似很熟悉的东西在实际过应用程中显的那么脆弱,好多都给忘了,特此将这次经历记录下来。

 

STEP 1: rmic 

1. JDK1.4下会生成存根和骨架文件,但在JDK1.5下只有stub(存根) 文件。

2. rmic rca.serviceImpl.generic0348.ServiceImpl    只能在class存放的根目录下头才能找到ServiceImpl.class, 否则会报错:Class rca.serviceImpl.generic0348.ServiceImpl  not found.

 

STEP 2: jar  生成可执行jar 包

Q: /java1.4/bin/jar cvfm  rmiService.jar *.*  打的jar包未设定Main-Class(Failed to load Mani-Class manifest attribute from  rmiservice.jar)。

A: 新建一个main.mf 文件,Main-Class: 可执行主类全名(如果打包了的话包含包名),需要回车。

然后执行/java1.4/bin/jar cvfm  rmiService.jar  main.mf *.* 

 

STEP 3: 运行

原以为这样就可以大功告成,直接在服务器上执行该jar包就行,可最后联调的时候却找不到我放在 rmiService.jar中的 ojdbc14.jar , 因为这样JVM是找不到第三方jar 包的。

1. 在main.mf 文件中添加: Class-Path: classes12.jar lib/class12.jar

2. /opt/j2sdk1.4.2_10/bin/java -Xbootclasspath/a:/product/rmi_server/ojdbc14.jar -jar rmiService.jar

这样JVM 才能加载成功。

 

链接:在可执行jar 包中动态载入第三方jar class的有关问题

(原地址文章好像被删除,现在附件链接,同时感谢原文作者)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值