RMI执行rmic生成stub类报错找不到文件

1.配置环境变量:

    key:jdk,value:jdk安装目录jdk的bin目录下。

    key:jre,value:jdk安装目录jre的bin目录下。

    比如:我的jdk安装在E盘java文件夹中,那么新增环境变量值为:jdk---E:\Java\jdk\bin,jre---E:\Java\jre\bin。

    在path变量中添加%jdk%;%jre%。

2.在classpath环境变量中添加生成的stub类文件的保存位置。

    比如:我在classpath中添加的内容为:E:\EBRJC\RMIProject\bin\(因为我项目中.java文件生成的对应的.class文件就在该目录下)。

    注意:项目中如果类在某一个包下,那么编译的时候,对应的包会编译成一个文件夹,而classpath 中添加的内容中不能带包名生成的那个文件夹。比如我的项目中,RemoteUnicastServiceImpl.java在testRMI包中,那么编译生成的格式为testRMI文件夹中包含一个RemoteUnicastServiceImpl.class文件。而classpath中添加的应该是项目的根目录到RemoteUnicastServiceImpl.class文件所在文件夹的上一层,也就是不包含文件夹那一层。

3.生成stub类文件(只有实现了Remote接口的类才能生成stub类文件)。

   (1) 比如:我的项目名称为RMIProject,项目结构为:

    

(2)项目在本地路径为:E:\EBRJC\RMIProject;

(3)项目在本地的结构为:


.java文件生成的.class文件在bin目录下对应的文件夹中。

(4)在dos命令行执行如下命令:


第一步:进入生成的stub类文件存储的目录

第二步:执行rmic 包名.类名

猜你喜欢

转载自blog.csdn.net/Dream_Ryoma/article/details/80321777