java RMI 程序打包问题 一个Java RMI 程序 在ECLIPSE上运行没问题 打包之后,总是连不上服务器。为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 老兄,Java RMI 低层开发啊,能不能把源码发给我,谢了。 代码:还有一些接口 没有贴上来:try { ConsumerBean cb=new ConsumerBeanImpl(); AccountBean ab=new AccountBeanImpl(); AccountInfo ai=new AccountInfoImpl(); RegistryDao rd=new RegistryDaoImpl(); LoanBean lb=new LoanBeanImpl(); LoanInfo li=new LoanInfoImpl(); ManagerBean mb=new ManagerBeanImpl(); Manager man=new ManagerImpl(); BankBean bb=new BankBeanImpl(); BankDao bd=new BankDaoImpl(); String a = jTextField1.getText(); int b = Integer.parseInt(a); register=LocateRegistry.createRegistry(b); // System.setProperty("java.rmi.server.hostname","127.0.0.1"); Naming.rebind("ConsumerBean", cb); Naming.rebind("AccountBean", ab); Naming.rebind("AccountInfo", ai); Naming.rebind("RegistryDao", rd); Naming.rebind("LoanBean", lb); Naming.rebind("LoanInfo", li); Naming.rebind("ManagerBean", mb); Naming.rebind("Manager", man); Naming.rebind("BankDao", bd); Naming.rebind("BankBean", bb); System.out.println("服务器启动了"); jButton1.setEnabled(true); jButton.setEnabled(false); bStart = true; jTextField1.setEditable(false); jTextField.setText("服务已启动"); dlm.addElement(" 服务开始时间:" + (new Date()).toLocaleString() + "\n"); } catch (IOException e) { System.out.println("启动服务器出错"); e.printStackTrace(); } } 在ECLIPSE 上不会报错。打包后,运行没什么反应!没看到抱什么错啊 服务已启动 那个文字打印出来了吗?你连rmi是在本机上连得还是其他机器?以及你lookup用的uri是什么样的 如果用ECLIPSE运行。其他的电脑也能连上我电脑上的服务器。(改一下URL)但是打包之后,在本机上就不能运行了。 为什么? 连不上也应该会报一个错误RemoteException你的错误stacktrace是什么样的?代码里有没有catch块为空的情况? 没反应。客户端我捕获了异常。一个EXCEPTION 怎么配啊?是那个propert文件吗?还是那个报错的代码是access denied(java.net.SocketPermission 127.0.0.1 connection,resolve) 配置个策略文件试试grant{ permission java.security.AllPermission; }; 将这段内容存到一个文件,就命名为policy吧通过以下命令启动服务java -Djava.security.manager -Djava.security.policy=policy 服务类名称 access denied(java.SocketPermission 127.0.0.1:1099 connect,resolve) 关于封装类的问题 在线等个JAVA 和SQL2000 不通过连接池的问题? 泛型的菜问题 帮忙看一下 我哪里错了?请高手指点,谢谢! About JDO question 事实证明:Java比C++快(总论) 求使用Java制作的绘图软件 svg 关于数组的一个问题 【新手上路,解决立即给分!!!】 怎样使弹出的对话框位于程序的中央? 小小区别 大家帮忙看看这个正则表达式
try {
ConsumerBean cb=new ConsumerBeanImpl();
AccountBean ab=new AccountBeanImpl();
AccountInfo ai=new AccountInfoImpl();
RegistryDao rd=new RegistryDaoImpl();
LoanBean lb=new LoanBeanImpl();
LoanInfo li=new LoanInfoImpl();
ManagerBean mb=new ManagerBeanImpl();
Manager man=new ManagerImpl();
BankBean bb=new BankBeanImpl();
BankDao bd=new BankDaoImpl();
String a = jTextField1.getText();
int b = Integer.parseInt(a);
register=LocateRegistry.createRegistry(b);
// System.setProperty("java.rmi.server.hostname","127.0.0.1");
Naming.rebind("ConsumerBean", cb);
Naming.rebind("AccountBean", ab);
Naming.rebind("AccountInfo", ai);
Naming.rebind("RegistryDao", rd);
Naming.rebind("LoanBean", lb);
Naming.rebind("LoanInfo", li);
Naming.rebind("ManagerBean", mb);
Naming.rebind("Manager", man);
Naming.rebind("BankDao", bd);
Naming.rebind("BankBean", bb);
System.out.println("服务器启动了");
jButton1.setEnabled(true);
jButton.setEnabled(false);
bStart = true;
jTextField1.setEditable(false);
jTextField.setText("服务已启动");
dlm.addElement(" 服务开始时间:" + (new Date()).toLocaleString() + "\n");
} catch (IOException e) {
System.out.println("启动服务器出错");
e.printStackTrace();
}
}
你连rmi是在本机上连得还是其他机器?以及你lookup用的uri是什么样的
代码里有没有catch块为空的情况?
报错的代码是access denied(java.net.SocketPermission 127.0.0.1 connection,resolve)
permission java.security.AllPermission;
}; 将这段内容存到一个文件,就命名为policy吧
通过以下命令启动服务
java -Djava.security.manager -Djava.security.policy=policy 服务类名称