Java JNA调用不会运行本机代码,导致应用程序暂停

Java JNA调用不会运行本机代码,导致应用程序暂停,java,java-native-interface,native,jna,Java,Java Native Interface,Native,Jna,我正在使用JNA(Java本机访问)从Java调用一个本机方法到C。本机方法(int funcServer(int param1))是一个基本的unix套接字侦听。但不管我是做优化的JNA还是做优化的JNA,JNA都会阻碍我。本机代码即使在函数调用的第一行也不会打印任何内容,但不会引发异常 请参阅我的最低可行Java示例(在NetBeans IDE产品版本:8.0.2 Build 201411181905和Ubuntu Linux上运行): *更新3* 即使它可以在Ubuntu Linux终端上

我正在使用JNA(Java本机访问)从Java调用一个本机方法到C。本机方法(int funcServer(int param1))是一个基本的unix套接字侦听。但不管我是做优化的JNA还是做优化的JNA,JNA都会阻碍我。本机代码即使在函数调用的第一行也不会打印任何内容,但不会引发异常

请参阅我的最低可行Java示例(在NetBeans IDE产品版本:8.0.2 Build 201411181905和Ubuntu Linux上运行):

*更新3*


即使它可以在Ubuntu Linux终端上运行,我的Windows版本(带Cygwin)也会失败。

尝试在Netbeans之外运行它

当我在netbeans中运行它时,我最后看到的是:

Loading Linux .so
Hello World from Java
当我带着以下信息从终端运行时:

java -jar target/mavenproject5-1.0-SNAPSHOT.jar
Loading Linux .so
Hello World from Java

 Hello World from C. This is a Socket Server Example Program 

 param1: 7 
I made it to line 27 in file newfile.c
I made it to line 38 in file newfile.c
该程序似乎仍在Netbeans中运行,但没有显示C打印的输出。我能说出来,因为当没有在所有telnet上运行时,都会显示以下情况:

telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
但当程序在Netbeans中运行时运行telnet会产生以下结果:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Tue Aug  4 19:46:38 2015
Connection closed by foreign host.

当您在菜单栏中转到“帮助”>“关于”时,您得到的是什么产品版本?NetBeans IDE 8.0.2(Build 201411181905)相同。此外,从终端运行它会导致“无法加载库'libViableExampleNative.so':无法获取linux-x86-64/libViableExampleNative.so的InputStream”而无需考虑。我通过System.setProperty(“jna.library.path”,pathToMyLib)得到了与您相同的结果;。你知道这是一个Netbeans bug还是一个JNI/JNA bug吗?不知道,我找到了这个链接,它表明有一个基于JNA的替代终端,但我不知道如何启用它。
Loading Linux .so
Hello World from Java
java -jar target/mavenproject5-1.0-SNAPSHOT.jar
Loading Linux .so
Hello World from Java

 Hello World from C. This is a Socket Server Example Program 

 param1: 7 
I made it to line 27 in file newfile.c
I made it to line 38 in file newfile.c
telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Tue Aug  4 19:46:38 2015
Connection closed by foreign host.