我可能是Java中最奇怪的问题之一。 我尝试启动一些应用程序说Wrapper(即I2P路由器)并获得以下内容:
- 路由器日志 -
03.12.12 21:07:31 ERROR [JobQueue 1/1] p.router.transport.UPnPManager: UPnP start failed - port conflict?
03.12.12 21:07:31 CRIT [JobQueue 1/1] ter.transport.ntcp.EventPumper: Error opening the NTCP selector
java.io.IOException: Unable to establish loopback connection
Caused by: java.net.SocketException: Permission denied: listen
- 包装日志 -
2012/12/02 14:28:29 | Unable to bind routerconsole to 127.0.0.1 port 7657: java.net.SocketException: Permission denied: listen failed
2012/12/02 14:28:29 | You may ignore this warning if the console is still available at http://localhost:7657
2012/12/02 14:28:30 | WARNING: Error starting SelectChannelConnector@::1:7657: java.io.IOException: Unable to establish loopback connection
2012/12/02 14:28:30 | java.io.IOException: Unable to establish loopback connection
2012/12/02 14:28:30 | WARNING: Error starting one or more listeners of the Router Console server.
2012/12/02 14:36:41 | CRIT [istener:7654] er.client.ClientListenerRunner: I2CP error listening to port 7654 - is another I2P instance running? Resolve conflicts and restart
在开发者论坛上,我被告知可能有可能我根本没有环回地址。 哪个不太可能。 我有其他应用程序使用环回地址,我也关闭了IPv6,把所有必要的选项放在包装器中忽略IPv6。 接下来我尝试在admin aacount下启动包装器,尝试在管理员帐户下安装包括Java在内的所有东西 - 完全没用。
我没有找到任何合理的答案。总是关于防火墙。但是我把它关了,我卸载了它,在管理员帐户下关闭了Windows防火墙。
我还在我的wi-fi路由器上打开了所有必要的端口。像Privoxy这样的其他程序可以很好地与环回连接和端口配合使用,但是如果我在线查看,我会收到一条消息,说我的所有端口都被阻止了,我认为这是错误的。
我的操作系统是Windows 7 64位,我的Wi-Fi路由器是Speedport 723v。
我事先感谢大家的答案。
答案 0 :(得分:3)
与I2P和jre7u25相同的问题
通过将wrapper.config
添加到jawa参数:
-Djava.net.preferIPv4Stack=true
wrapper.java.additional.5=-Di2p.dir.config="C:\ProgramData\Application Data\i2p" -Djava.net.preferIPv4Stack=true
答案 1 :(得分:1)
2012/12/02 14:28:29 | Unable to bind routerconsole to 127.0.0.1 port 7657: java.net.SocketException: Permission denied: listen failed
2012/12/02 14:28:29 | You may ignore this warning if the console is still available at http://localhost:7657
问题不在于您没有环回地址。您拥有它,但不允许您的Java进程创建套接字连接。您得到Permission denied
异常,这意味着您的策略文件不允许您的类将套接字绑定到本地端口7657。
您是否尝试查看JRE的政策文件?
尝试使用java.security.debug
系统属性运行您的程序(或包装器;不确定您正在运行的 ...):http://docs.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/debugger.html#jsdp
答案 2 :(得分:0)
好的,我认为至少解决了建立环回连接的步骤。
我想这可能对想要支持I2P项目的其他用户有用。
因此,我将JDK降级为1.6,重新安装所有内容并完全删除每个条目 防火墙软件(在我的案例中是Agnitum)。
之后控制台就能启动了。
答案 3 :(得分:-1)
在 windows 中,尝试重新启动PC,它对我有用。当应用程序尝试连接到远程数据库并且Internet连接断开时,就会发生此错误(这是原因之一)。