sun.rmi.activation.execPolicy警告

来源:互联网 发布:算法分析教材 编辑:程序博客网 时间:2024/04/29 17:58

 

今天运行了一下thinking in java 上面的一个小程序

package c03;

class Number{
 int i;
}
public class Assignment {
 public static void main(String[] args){
  Number n1 = new Number();
  Number n2 = new Number();
  n1.i = 9;
  n2.i = 47;
  System.out.println("1:n1.i:"+n1.i+","+"n2.i:"+n2.i);
  n1 = n2;
  System.out.println("2:n1.i:"+n1.i+","+"n2.i:"+n2.i);
  n1.i = 27;
  System.out.println("3:n1.i:"+n1.i+","+"n2.i:"+n2.i);
 }

}

结果报如下错误:

Activation.main: 警告: sun.rmi.activation.execPolicy 系统
属性未被指定且 ExecPermissions/ExecOptionPermissions
均未被授权。随后的激活尝试失败,原因是对
ExecPermission/ExecOptionPermission 的权限检查失败。 有关如何
配置 rmid 安全性的文档说明,请参阅:

http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html
http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html

Activation.main: 出现异常:Port already in use: 1098; nested exception is:
 java.net.BindException: Address already in use: JVM_Bind
java.rmi.server.ExportException: Port already in use: 1098; nested exception is:
 java.net.BindException: Address already in use: JVM_Bind
 at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)
 at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)
 at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)
 at sun.rmi.transport.LiveRef.exportObject(Unknown Source)
 at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
 at sun.rmi.registry.RegistryImpl.setup(Unknown Source)
 at sun.rmi.registry.RegistryImpl.<init>(Unknown Source)
 at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)
 at sun.rmi.server.Activation.main(Unknown Source)
Caused by: java.net.BindException: Address already in use: JVM_Bind
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(Unknown Source)
 at java.net.ServerSocket.bind(Unknown Source)
 at java.net.ServerSocket.<init>(Unknown Source)
 at java.net.ServerSocket.<init>(Unknown Source)
 at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)
 at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)
 at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)
 ... 9 more

一开始以为是JVM被占用了,后来发现是由于

对最外面的大的项目点run as了,所以跳出来一个SELECT JAVA APPLICATION的选框,默认的是**,而最后它用的是第一个选项Activation-sun.rmi.server,就报错了!

运行ECLIPSE中的java程序是要点函数名,再run as
如运行hello world,则需对
HelloWorld.java下的
HelloWorld下的
main点右键再选run as!

其实只要不对最外面的项目点run as 都可以运行!

如果你搜索“sun.rmi.activation.execPolicy 系统
属性未被指定且 ExecPermissions/ExecOptionPermissions
均未被授权。随后的激活尝试失败,原因是对
ExecPermission/ExecOptionPermission 的权限检查失败。”这个错误的话就走入了误区!

可以用"netstat -a"命令查看端口使用信息.

原创粉丝点击