簡體   English   中英

為什么會收到ClassNotFoundException?

[英]Why am I geting a ClassNotFoundException?

使用Ubuntu

這是我的代碼:

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));
    }
}

這是我的編譯方式:

javac -classpath /home/nick/Java/PLC/ethernetip4j-0.2.jar PLCServer.java ,不返回任何錯誤

這是輸出:

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

我在這里想念什么嗎?

確保在運行代碼時也指定了類路徑。 如果將所需的所有內容添加到java類路徑后仍然存在問題,請檢查那些缺少的類是否確實在您指定的jar /位置中。 您還可以啟用一些調試標志,以提供有關類加載等的更多信息。

例如

java -classpath /home/nick/Java/PLC/ethernetip4j-0.2.jar:. PLCServer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM