`
ugibb510
  • 浏览: 132039 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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的有关问题

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

 

分享到:
评论

相关推荐

    Java命令解释大全

    Java命令是Java开发和运行过程中不可或缺的工具,它们提供了对JVM(Java虚拟机)的控制,以及对Java程序的编译、打包、文档生成、反编译等操作。以下是对Java常用命令的详细解释: 1. **javac.exe**:Java编译器,...

    Java命令解释大全[归类].pdf

    Java命令是Java开发中不可或缺的一部分,它们用于编译、运行、打包、文档化以及调试Java程序。以下是对这些命令的详细解释: 1. **javac.exe**:Java编译器,负责将源代码(.java文件)转换为字节码(.class文件)...

    Java RMI Tutorial

    rmic.jar Server.java javac -classpath .;rmic.jar Client.java ``` #### 11. **运行示例程序** - 启动服务端程序。 ```shell java -classpath .;rmic.jar Server ``` - 运行客户端程序。 ```shell java ...

    jdk命令详解

    #### 一、`rmic`命令详解 `rmic`是JDK中用于生成远程接口(实现`java.rmi.Remote`接口)的存根(Stub)和骨架(Skeleton)文件的工具。这些存根和骨架文件能够支持远程方法调用(RMI),使得在不同JVM之间的对象可以...

    JDK命令详细解释,教你如何使用

    ### JDK命令详细解释 在Java开发领域中,深入理解并掌握JDK(Java ...以上就是关于`rmic`、`rmid`、`rmiregistry`、`serialver`以及`jarsigner`等命令的详细介绍,希望能帮助Java开发者更好地掌握这些实用工具。

    java jdk 7 64位

    安装后,需要设置系统环境变量JAVA_HOME和PATH,确保系统能找到JDK的安装目录和bin目录,以便在命令行中直接运行Java命令。 总结而言,Java JDK 7 64位是Windows开发者进行Java开发必不可少的工具,它提供了全面的...

    Linux常见命令

    ### Linux常见命令详解 ... - `/opt/jdk/bin` 包含了 `javac`, `java`, `jar`, `rmic`, `jps` 等工具。 以上是对给定文件中的 Linux 命令知识点的详细解释,希望能帮助您更好地理解和使用这些命令。

    niit java 试题2

    4. **`.jar`**:Java存档文件,用于打包Java类库或组件。 ### 分离表示逻辑、业务逻辑和数据库交互的应用类型 1. **分布应用**:通常指跨越多台计算机的应用程序。 2. **以服务器为中心的应用**:强调客户端和...

    J2EE(JAVA企业应用)考试题

    5. 使用`rmic`命令可以生成Stub和Skeleton类,这是RMI(远程方法调用)的一部分。 6. 企业Bean的部署信息通常包含在部署描述符中,如`ejb-jar.xml`文件。 7. 在RMI应用中,若不使用`UnicastRemoteObject`,需要...

    《Java程序设计》模拟题带答案B卷.docx

    使用`rmic`命令可以自动生成Stub和Skeleton类。 11. **Unicode编码的位宽**:Unicode编码使用16位,但可以扩展到32位以容纳更多字符。 12. **Bean的监听器方法**:JavaBeans可以添加各种类型的监听器,例如`...

    《Java程序设计》模拟题带答案B卷.pdf

    10. **Stub和Skeleton生成**:使用`rmic`命令来生成RMI(远程方法调用)所需的Stub和Skeleton类。 11. **Unicode编码**:Java的字符类型`char`采用Unicode编码,每个Unicode码占用16个比特位。 12. **监听者注册**...

    《Java程序设计》模拟题带答案(B卷).pdf

    10. **Stub和Skeleton生成**:在RMI(远程方法调用)中,使用`rmic`命令来生成Stub和Skeleton类,以便客户端能调用服务器端的远程对象。 11. **Unicode编码**:Unicode是一种国际化的字符编码方案,每个Unicode码点...

    niit java年底试题

    - 使用`rmic`命令可以生成RMI的Stub和Skeleton类,这些类用于实现远程对象的调用。 ### 6. 部署描述符 - **Deployment Descriptor**(部署描述符)包含了企业bean的部署信息,如EJB的配置、依赖关系等,对于正确...

    《Java程序设计》(B卷).pdf

    10. 生成Stub和Skeleton类:使用`rmic`命令来生成RMI(远程方法调用)所需的Stub和Skeleton类,选项C正确。 11. Unicode编码:Unicode编码方案中,每个字符占用16个比特位,选项B正确。 12. 注册事件监听器:将...

    linux切换JDK脚本

    --slave /usr/bin/jar jar /opt/jdk1.6.0_11/bin/jar --slave /usr/bin/jarsigner jarsigner /opt/jdk1.6.0_11/bin/jarsigner --slave /usr/bin/javadoc javadoc /opt/jdk1.6.0_11/bin/javadoc --slave /usr/bin...

    jdk8安装包rpm,jdk8安装包rpm

    5. **Java打包工具** (jar):将多个Java类文件打包到一个.jar文件中,便于分发和存储。 6. **Java调试工具** (jdb):用于调试Java应用程序。 7. **其他工具**:如Appletviewer、PolicyTool、Rmic等,用于不同目的的...

    jdk1.8-win-i586.rar

    - 使用`java`命令运行编译后的类文件。 - 利用JDK提供的工具进行调试、性能分析和优化。 总结来说,JDK 1.8-win-i586是专为Windows 32位系统设计的Java开发工具,它包含了一系列用于编写、运行和调试Java程序所需...

    jdk5.0 资源下载

    2. `PATH`:将%JAVA_HOME%\bin添加到系统路径中,以便在任何地方都能运行Java命令。 3. `CLASSPATH`:指定查找类文件的路径,通常包括当前目录(".")和JDK的lib目录。 正确配置这些环境变量后,用户就可以在命令行...

    一个相当经典的RMI实例源代码及详细说明

    - **编译接口**:使用`rmic`命令生成接口的stub和skeleton。Stub是客户端用来调用远程方法的对象,而skeleton是服务器端接收和处理请求的对象。 - **打包到jar**:将生成的stub放入客户端的jar包,skeleton放入...

Global site tag (gtag.js) - Google Analytics