java derby 用户安全_Java 7u51安全权限变化,运行derby server被拒,解决方法

本文参考的文章:http://blog.coffeebeans.at/?p=770

今天运行Derby数据库的服务器时,出现以下问题:

access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")

原因是:

Java 7u51版安全管理器的默认权限有变化,之前允许绑定>1024的端口,现在下限更高。所以derby使用的1527端口被拒绝绑定。

解决办法:

需要在$JAVA_HOME/jre/lib/security文件夹下的java.policy文件中相应位置添加一行(可能需要管理员权限才能修改该文件),以允许绑定相应端口:

grant {

...

permission java.net.SocketPermission "localhost:1527", "listen,resolve";

}

附:报错的具体内容,和我的java版本

C:\Users\**>java -version

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

C:\Users\**>java -jar %DERBY_HOME%\lib\derbyrun.jar server start

Fri Feb 14 21:01:07 CST 2014 : 已使用基本服务器安全策略安装了 Security Manager。

Fri Feb 14 21:01:12 CST 2014 : access denied ("java.net.SocketPermission" "local

host:1527" "listen,resolve")

java.security.AccessControlException: access denied ("java.net.SocketPermission"

"localhost:1527" "listen,resolve")

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkListen(Unknown Source)

at java.net.ServerSocket.bind(Unknown Source)

at java.net.ServerSocket.(Unknown Source)

at javax.net.DefaultServerSocketFactory.createServerSocket(Unknown Sourc

e)

at org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocke

t(Unknown Source)

at org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(Unknow

n Source)

at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Sou

rce)

at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Sou

rce)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unk

nown Source)

at org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(Unkno

wn Source)

at org.apache.derby.drda.NetworkServerControl.main(Unknown Source)

at org.apache.derby.iapi.tools.run.main(Unknown Source)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值