我正在尝试在Eclipse中使用FANNJ(在Ubuntu上),尝试创建一个玩具程序,但它一直给出如下所示的错误。
代码:
package myPackage;
import com.googlecode.fannj.Fann;
public class mainclass {
public static void man(String[] args) {
System.out.println("1");
Fann fann = new Fann("/home/sahil/Desktop/Intern/Java/eclipse/Workspace/UsingFANN/ANN_Net_Output1.net");
}
}
错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Platform at com.googlecode.fannj.Fann.<clinit>(Fann.java:51) at myPackage.mainclass.main(mainclass.java:9) Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
可以在Ubuntu上与FANNJ合作的人解释为什么会出现这个错误吗?
答案 0 :(得分:1)
你必须下载遗失的图书馆&#34; jna&#34;。获得它之后,你必须在eclipse中指出它(使用项目的属性&gt; Java Build Path&gt;库,并添加jar(你可以浏览它&#34;添加外部JAR ......&#34;)
获得项目所有依赖项的好方法是通过&#34; maven&#34;。你可以简单地创建一个&#34; pom.xml&#34;文件在项目的根文件夹上。所以写下来:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.something</groupId>
<artifactId>MyProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>MyProject</name>
<description>MyProject</description>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.fannj/fannj -->
<dependency>
<groupId>com.googlecode.fannj</groupId>
<artifactId>fannj</artifactId>
<version>0.6</version>
</dependency>
</dependencies>
</project>
最后,在命令行类型#mvn install上,它将下载依赖项,默认情况下将所有库放在你的&#34; homefolder / .m2&#34;中。所以,浏览JNA库,你会在这样的文件夹中找到它:&#34;〜/ .m2 / repository / net / java / dev / jna / jna / 3.2.7&#34;。如果您的项目使用除了fannj之外的其他库,您可以将它添加到pom文件中以将所有内容组合在一起。
答案 1 :(得分:0)
确保将jna.library.path系统属性设置为FANN库的路径。此属性类似于java.library.path,但仅适用于JNA加载的库。
您还应该在启动VM之前更改相应的库访问环境变量。 (Linux上的LD_LIBRARY_PATH)
从命令行:
LD_LIBRARY_PATH=/usr/local/lib
java -Djna.library.path=/usr/local/lib -cp fannj-0.6.jar:jna-3.2.2.jar YourClass