我有一台运行独立Java应用程序的Windows PC,需要上网。为了限制其他应用程序(如Windows Update,Anti Virus等)的数据使用,PC已经设置了Windows防火墙,并且只允许出站连接到特定的白名单应用程序。
我目前已列出: UDP端口53上的DNS Java.exe和Javaw.exe
但是,当我运行Java应用程序时,我收到以下堆栈错误...
java.net.SocketException:Permission denied:connect
我的理解是,白名单Java.exe将允许Internet访问Java应用程序,但这不起作用。
知道为什么吗?
答案 0 :(得分:0)
看起来您需要以管理员模式运行Java应用程序。
答案 1 :(得分:0)
不是 java.exe 将 .jar 文件连接到互联网,而是 javaw.exe 连接。
为了允许我的 MyApp.jar 应用程序在 Windows Defender 防火墙中传出连接,我为 javaw.exe 添加了这样的规则: