0

我正在尝试在 Eclipse(在 Ubuntu 上)中使用 FANNJ,试图创建一个玩具程序,但它一直给出这个错误,如下所示。

代码:

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 的人可以解释为什么会出现这个错误吗?

4

2 回答 2

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
于 2014-06-27T17:59:16.517 回答
0

您必须下载缺少的库“jna”。得到它后,你必须将它指向 eclipse(使用项目的属性> Java Build Path > Libraries,并添加 jar(你可以在“Add External JARs ...”上浏览它)。

获取项目所有依赖项的一个好方法是通过“maven”。您可以简单地在项目的根文件夹中创建一个“pom.xml”文件。所以写下来:

<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 上,它将下载依赖项,默认情况下将所有库放在“homefolder/.m2”中。因此,浏览 JNA 库,您会在如下文件夹中找到它:“~/.m2/repository/net/java/dev/jna/jna/3.2.7”。如果您的项目使用除了 fannj 之外的其他库,您可以将其添加到 pom 文件中以将所有内容放在一起。

于 2017-08-24T21:34:46.450 回答