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的解决方法相关推荐

  1. eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener解决方法

    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...

  2. java 运行 出现选择_Eclipse 运行出现java.lang.NoClassDefFoundError的解决方法

    上篇博文也提到了这个问题,但没有深入的讲解.这次特意做了整理,详细解释其原因. 先看错误java.lang.NoClassDefFoundError,显然是java虚拟机找不到指定的类,多数情况下是外 ...

  3. java.lang.OutOfMemoryError​异常解决方法

    java.lang.OutOfmemoryError: PermGen Space 的错误,导致项目无法正常运行. 出现这个错误的原因,总结一下: PermGen Space指的是内存的永久保存区,该 ...

  4. java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型

    java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型 参考文章: (1)java ...

  5. java.lang unsupported classversion解决方法

    java.lang unsupported classversion解决方法 参考文章: (1)java.lang unsupported classversion解决方法 (2)https://ww ...

  6. [ JAVA编程 ] double类型计算精度丢失问题及解决方法

    [ JAVA编程 ] double类型计算精度丢失问题及解决方法 参考文章: (1)[ JAVA编程 ] double类型计算精度丢失问题及解决方法 (2)https://www.cnblogs.co ...

  7. tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法

    tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法 参考文章: (1)tomcat运行时候出现java ...

  8. java应用 cpu占用过高问题分析及解决方法

    主要介绍了java应用cpu占用过高问题分析及解决方法,具有一定参考价值,需要的朋友可以参考下. 使用jstack分析java程序cpu占用率过高的问题 1,使用jps查找出java进程的pid,如3 ...

  9. Eclipse Java Oxygen不能创建动态的web项目(解决方法)

    Eclipse Java Oxygen不能创建动态的web项目(解决方法) 一.eclipse安装J2EE插件 一.eclipse安装J2EE插件 Oxygen版本Eclipse没有toamct开发工 ...

最新文章

  1. python多线程爬虫实例-python多线程爬虫实例讲解
  2. 直击CVPR2017:商汤科技打造技术盛宴23篇论文刮起中国风 By 机器之心2017年7月25日 10:14 近日,CVPR2017 在夏威夷如火如荼地进行,作为全球计算机视觉顶级会议,CVPR
  3. Zookeeper_原生API操作(一)
  4. 2010年下半年计算机专业技术资格考试工作安排
  5. Eigen(1)配置VS2015
  6. 2014/5/25 多校
  7. 任正非:美国迟早会爱上华为
  8. sqlserver_identity
  9. 解析Pinterest:兴趣乐园背后的大文章
  10. 2020 年百度之星·程序设计大赛 - 复赛 1001Battle for Wosneth
  11. 网络常用协议 SSH、SSL
  12. armeabi与armeabi-v7a的区别,绝对干货!
  13. 网络云存储技术Windows server 2012 (项目十八 部署高可用链路的iSCSI(基于MPIO))
  14. OpenGL ES2.0 的三种变量类型(uniform,attribute和varying)
  15. python软著申请_软著申请注意事项放心选择
  16. 一篇关于编程的文章,启发你的编程知识
  17. 比较完整的A2C.c
  18. Java字节流读取shp_shp系列(四)——利用C++进行Shx文件的读(打开)
  19. mmdetection训练、测试
  20. UVA, 516 Prime Land

热门文章

  1. 【BZOJ 4671】异或图 【斯特林反演】【线性基】【贝尔数复杂度】
  2. 2020牛客暑期多校训练营(第三场)
  3. 一些数学小公式/定理的证明
  4. 51nod1821-最优集合【贪心】
  5. jzoj1082-合并果子【堆,贪心】
  6. 纪中C组模拟赛总结(2019.9.7)
  7. [XSY] 智慧树(线性同余方程组,线段树/树状数组)
  8. Sentinel(十二)之实时监控
  9. Java 0xffffffff隐式类型转换的坑
  10. 探究Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类