Netbeans Java 项目中的 Macosx 权利

问题描述 投票:0回答:1

我有一个 Java 应用程序需要在 Windows 和 MacOS 上工作,它是使用 JDK8 在 Netbeans 8.2 中开发的。

此应用程序需要打开 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 帖子,可能是向应用程序添加授权文件以获得访问网络的权利,但我不知道如何在 Netbeans 的 Java 项目中做到这一点,我没有找到关于它的任何文件。

编辑1

我认为问题在于该应用程序是使用 Process.Run 方法从另一个应用程序启动的。如果我直接启动它,它会正确打开 websocket。

java macos websocket netbeans entitlements
1个回答
0
投票

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

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.