java.rmi.UnmarshalException:errorunmarshalling return; java.lang.ClassNotFoundException的解决方法
1)problem
出现 java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException 异常的原因是,在命令行执行 rmiregistry,并没有指定好 绑定时查找的类文件的路径。
2)solution
以上图片是我的一个荔枝,我的需要绑定的类所属类名如下:
package com.corejava.chapter11.activation.server;import java.rmi.*;/**The remote interface for a simple warehouse.@version 1.0 2007-10-09@author Cay Horstmann
*/
// 远程对象的接口必须扩展Remote接口
public interface Warehouse extends Remote
{ double getPrice(String description) throws RemoteException;
}
我们通过如下语句将该类注册到注册表( Naming.rebind("rmi://localhost:1099/central_warehouse", centralWarehouse);
)时,1099是 rmiregistry的启动默认端口,发送该绑定请求后,registry 就会去查找要绑定的 centralWarehouse 所属的类名,也即是 com.corejava.chapter11.activation.server.Warehouse。
package com.corejava.chapter11.activation.server;import java.io.*;
import java.rmi.*;
import java.rmi.activation.*;
import java.util.*;import javax.naming.*;public class WarehouseActivator
{public static void main(String[] args) throws RemoteException,NamingException, ActivationException, IOException,AlreadyBoundException{System.out.println("Constructing activation descriptors...");System.setProperty("java.security.policy","com/corejava/chapter11/activation/server/server.policy");System.setSecurityManager(new SecurityManager());// 如何构建激活程序Properties props = new Properties();// use the server.policy file in the current directoryprops.put("java.security.policy", new File("com/corejava/chapter11/activation/server/server.policy").getCanonicalPath());// step1)需要定义一个激活组// step2) 然后如下构造一个激活组描述符:ActivationGroupDesc group = new ActivationGroupDesc(props, null);// step3)创建一个组IDActivationGroupID id = ActivationGroup.getSystem().registerGroup(group);Map<String, Double> prices = new HashMap<>();prices.put("Blackwell Toaster", 24.95);prices.put("ZapXpress Microwave Oven", 49.95);MarshalledObject<Map<String, Double>> param = new MarshalledObject<Map<String, Double>>(prices);String codebase = "http://localhost:8080/";// step4) 构造一个激活描述符了。对于需要构造的每一个对象,都应该包括以下内容(contents):// 激活组ID + 类的名字 + URL字符串 + 编组后的构造信息// LocateRegistry.createRegistry(1099);ActivationDesc desc = new ActivationDesc(id,"com.corejava.chapter11.activation.server.WarehouseImpl",codebase, param);Warehouse centralWarehouse = (Warehouse) Activatable.register(desc);Naming.rebind("rmi://localhost:1099/central_warehouse", centralWarehouse);System.out.println("Exiting...");}
}
java.rmi.UnmarshalException:errorunmarshalling return; java.lang.ClassNotFoundException的解决方法相关推荐
- eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener解决方法
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...
- java 运行 出现选择_Eclipse 运行出现java.lang.NoClassDefFoundError的解决方法
上篇博文也提到了这个问题,但没有深入的讲解.这次特意做了整理,详细解释其原因. 先看错误java.lang.NoClassDefFoundError,显然是java虚拟机找不到指定的类,多数情况下是外 ...
- java.lang.OutOfMemoryError异常解决方法
java.lang.OutOfmemoryError: PermGen Space 的错误,导致项目无法正常运行. 出现这个错误的原因,总结一下: PermGen Space指的是内存的永久保存区,该 ...
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型 参考文章: (1)java ...
- java.lang unsupported classversion解决方法
java.lang unsupported classversion解决方法 参考文章: (1)java.lang unsupported classversion解决方法 (2)https://ww ...
- [ JAVA编程 ] double类型计算精度丢失问题及解决方法
[ JAVA编程 ] double类型计算精度丢失问题及解决方法 参考文章: (1)[ JAVA编程 ] double类型计算精度丢失问题及解决方法 (2)https://www.cnblogs.co ...
- tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法
tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法 参考文章: (1)tomcat运行时候出现java ...
- java应用 cpu占用过高问题分析及解决方法
主要介绍了java应用cpu占用过高问题分析及解决方法,具有一定参考价值,需要的朋友可以参考下. 使用jstack分析java程序cpu占用率过高的问题 1,使用jps查找出java进程的pid,如3 ...
- Eclipse Java Oxygen不能创建动态的web项目(解决方法)
Eclipse Java Oxygen不能创建动态的web项目(解决方法) 一.eclipse安装J2EE插件 一.eclipse安装J2EE插件 Oxygen版本Eclipse没有toamct开发工 ...
最新文章
- python多线程爬虫实例-python多线程爬虫实例讲解
- 直击CVPR2017:商汤科技打造技术盛宴23篇论文刮起中国风 By 机器之心2017年7月25日 10:14 近日,CVPR2017 在夏威夷如火如荼地进行,作为全球计算机视觉顶级会议,CVPR
- Zookeeper_原生API操作(一)
- 2010年下半年计算机专业技术资格考试工作安排
- Eigen(1)配置VS2015
- 2014/5/25 多校
- 任正非:美国迟早会爱上华为
- sqlserver_identity
- 解析Pinterest:兴趣乐园背后的大文章
- 2020 年百度之星·程序设计大赛 - 复赛 1001Battle for Wosneth
- 网络常用协议 SSH、SSL
- armeabi与armeabi-v7a的区别,绝对干货!
- 网络云存储技术Windows server 2012 (项目十八 部署高可用链路的iSCSI(基于MPIO))
- OpenGL ES2.0 的三种变量类型(uniform,attribute和varying)
- python软著申请_软著申请注意事项放心选择
- 一篇关于编程的文章,启发你的编程知识
- 比较完整的A2C.c
- Java字节流读取shp_shp系列(四)——利用C++进行Shx文件的读(打开)
- mmdetection训练、测试
- UVA, 516 Prime Land
热门文章
- 【BZOJ 4671】异或图 【斯特林反演】【线性基】【贝尔数复杂度】
- 2020牛客暑期多校训练营(第三场)
- 一些数学小公式/定理的证明
- 51nod1821-最优集合【贪心】
- jzoj1082-合并果子【堆,贪心】
- 纪中C组模拟赛总结(2019.9.7)
- [XSY] 智慧树(线性同余方程组,线段树/树状数组)
- Sentinel(十二)之实时监控
- Java 0xffffffff隐式类型转换的坑
- 探究Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类