Netbeans Java项目中的Macosx权利

eqoofvh9  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(95)

我有一个Java应用程序,需要在Windows和MacOS上工作,它是在Netbeans 8.2中使用JDK8开发的。
这个应用程序需要打开一个WebSocket,但我在MacOS中得到“操作不允许”异常,在Windows中它工作正常。
我已经使用'org.java_websocket.server.WebSocketServer'类实现了WebSocket服务器。
堆栈跟踪如下所示:

     Operation not permitted
     java.net.SocketException: Operation not permitted
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
        at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:325)
        at java.lang.Thread.run(Thread.java:748)

我一直在阅读可能的解决方案,但很少。一个可能的解决方案,从XCode的帖子,可以添加一个权利文件到应用程序,以获得访问网络的权利,但我不知道如何在Java项目中使用Netbeans,我没有找到任何有关它的文档。
编辑1
我认为问题在于应用程序是使用Process.Run方法从另一个应用程序启动的。如果我直接启动它,它会正确地打开WebSocket。

64jmpszr

64jmpszr1#

也许你可以尝试从启动Java进程的应用程序中启用传入连接和传出连接。在XCode项目中,您必须转到项目设置〉签名和功能〉应用沙盒并启用网络检查。
希望能帮上忙。

相关问题