0

Using Ubuntu

Here is my code:

import java.io.*;
import java.net.*;
import se.opendataexchange.ethernetip4j.clx.*;

class PLCServer
{
    public static void main(String argv[]) throws IOException
    {
        // IP address of the ethernet card
        String ENBTIP = "192.168.10.14";
        DataInputStream socketReader = null;
        PrintStream socketWriter = null;
        ControlLogixConnector test = new ControlLogixConnector(ENBTIP,44818);

        // Debugging code
        System.out.println(InetAddress.getByName(ENBTIP).isReachable(10000));
    }
}

Here is how I am compiling:

javac -classpath /home/nick/Java/PLC/ethernetip4j-0.2.jar PLCServer.java which returns no errors

Here is the output:

Exception in thread "main" java.lang.NoClassDefFoundError: se/opendataexchange/ethernetip4j/clx/ControlLogixConnector
    at PLCServer.main(PLCServer.java:13)
Caused by: java.lang.ClassNotFoundException: se.opendataexchange.ethernetip4j.clx.ControlLogixConnector
    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:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more

Am I missing something here?

4

1 回答 1

3

确保在运行代码时还指定了类路径。如果在将所需的所有内容添加到 java 类路径后仍然存在问题,请检查这些缺失的类是否确实在您指定的 jars/位置中。您还可以启用一些调试标志以提供有关类加载等的更多信息。

所以例如...

java -classpath /home/nick/Java/PLC/ethernetip4j-0.2.jar:. PLCServer
于 2013-01-07T15:30:45.473 回答