1. 程式人生 > >Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com/zhangyun/Demo)解決辦法

Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com/zhangyun/Demo)解決辦法

介紹一個Java初學者可能會遇到的問題

首先,建立一個類,如下
檔名:Demo.java

package com.zhangyun;

public class Demo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World!");
}
}

然後我找到對應在磁碟的位置,如下:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>dir

2015/08/12  22:01    <DIR>          .
2015/08/12  22:01    <DIR>          ..
2015/08/12  21:52               206 Demo.java
               1 個檔案            206 位元組
               2 個目錄 15,542,927,360 可用位元組

然後我編譯java檔案:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>javac Demo.java

E:\MyEclipse10\JavaLearning\src\com\zhangyun>dir
2015/08/12  22:04    <DIR>          .
2015/08/12  22:04    <DIR>          ..
2015/08/12  22:04               427 Demo.class
2015/08/12  21:52               206 Demo.java
               2 個檔案            633 位元組
               2 個目錄 15,542,927,360 可用位元組

編譯成功後,產生Demo.class檔案,我開始執行:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>java Demo
Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com
/zhangyun/Demo)

        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        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)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

發現出錯了,其實遇到上面的問題,不要著急,因為我java程式碼中存在包,所以正確的執行方法是:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>cd ../../

E:\MyEclipse10\JavaLearning\src>javac -d . com\zhangyun\Demo.java

E:\MyEclipse10\JavaLearning\src>java com.zhangyun.Demo
Hello World!

註釋:很多在Eclipse或MyEclipse中開發習慣了,當然不會遇到這個問題,但是java的初級愛好者,大多喜歡拿著記事本寫著程式碼,dos視窗中敲著命令。。。。

相關推薦

Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com/zhangyun/Demo)解決辦法

介紹一個Java初學者可能會遇到的問題 首先,建立一個類,如下: 檔名:Demo.java package com.zhangyun; public class Demo {/*** @param args*/public static void main(String[

elasticsearch 編寫java程式報錯Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch

java程式啟動報錯: Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/plugins/NetworkPlugin ERROR StatusLogger Log4j2

spark submit提交任務報錯Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/stream

1.問題描述 提交spark任務: bin/spark-submit --master local[2] \ --class _0924MoocProject.ImoocStatStreamingApp_product \ /opt/datas/project/scala

Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletContext

        最近習慣做筆記,如果那裡有不對的地方,還望大神們指點,親噴也可以。         用了兩天碼了個dubbo服務,本地執行可以,結果放到伺服器傻逼了(心裡一萬隻草泥馬在奔騰。。。),為什麼? 結果在執行消費端zookeeper的時候,出現:Exception

hadoop解決Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/util/Apps

linux+eclipse+本地執行WordCount丟擲下面異常: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/util/Apps。 解決:沒有把yar

CentOS6.5 靜默安裝Oracle 11g過程中提示:Exception in threadmainjava.lang.NoClassDefFoundError

原來是系統中設定了DISPLAY環境變數,執行: [[email protected] database]$ ./runInstaller  -silent -responseFile /usr/local/oracle/response/db_inst

"Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory"錯誤解決方法

主要原因是hibernate-distribution-3.3.2.GA中的帶有的slf4j-api-1.5.8和最新下載的slf4j-1.6.1不相容造成的,下載一個slf4j-1.5.8包就解決問題了。

Exception in thread "main" java.lang.NoClassDefFoundError

在專案中,因為專案分成了好幾個模組,各個模組之間相互呼叫其他模組的類中的方法, 開發時候一直遇到一個問題,就是找不到類,命名程式碼裡面的包都已經有了,沒有報錯,但就是執行的時候報如下錯誤: Exception in thread "main" java.lang.NoCl

控制檯執行JAVA程式碼發生的錯誤(Exception in thread "main" java.lang.NoClassDefFoundError)

1.現在很多人都在用IDE開發工具,既能增加開發效率,又因其自動補全的功能規避了很多錯誤。 但是在有需要的情況下,或測試時,我們仍然需要控制檯來執行一些程式碼。 最近,我在用控制檯執行類似DOS命令中 copy  sourcefile    desfile的功能時,程式碼在

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean

當時問題就出在這上面 這個問題主要是jar包導致的我當時是  commons-beanutils-1.7.0.jar 這個jar包沒有匯入, 但是我在網上了解到缺少json其他jar包也會導致這些問題 如果有需要的在我的資源裡有json 整套的jar包,你可

一個環境變數導致執行報錯Exception in thread "main" java.lang.NoClassDefFoundError:

昨天下午編譯通過就一直報錯Exception in thread "main" java.lang.NoClassDefFoundError: 早上終於調通了,加油 1 安裝與配置 (1)在我的電腦C盤裡安裝了SDK ,路徑是這樣的:C:\Program Files

Andriod測試錯誤 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解決

Andriod Studio 執行測試報錯  Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解決方法 在Android Studio 執行測試時報錯

eclipse出現Exception in thread "main" java.lang.NoClassDefFoundError

昨天晚上在跑hadoop程式的時候,新建了一個工程然後不知怎麼地就一直出現Exception in thread "main" java.lang.NoClassDefFoundError 錯誤如下: Exception in thread "main" java.lang

解決問題:Exception in thread "main" java.lang.NoClassDefFoundError

這兩天在Eclipse中修改一個maven專案,出現了這個問題: Exception in thread “main” java.lang.NoClassDefFoundError 這個問題在網

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/ExtendedPr

在使用封裝好的外掛自動生成controller Service mapper pojo的時候遇到如上的問題, Exception in thread "main" java.lang.NoClassD

Linux 下執行Java程式報“Exception in thread "main" java.lang.NoClassDefFoundError

問題:使用命令“Javac Test.java” 編譯通過,並生成Test.class檔案,但是當“Java Test”時報錯??? [root@tmglh225 ~]# javac Test.java [root@tmglh225 ~]# java Test Except

idea運行的時候出現的問題Exception in threadmainjava.lang

ideaidea運行的時候出現的問題Exception in thread “main” java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$這類錯誤主要是環境中運行scala與idea中scala的版本不一致導致的。將他們更換為相同

Exception in threadmainjava.lang.NoSuchMethodError: scala.Predef..conforms()Lscala/Predef$$less$

執行Scala程式,出現如下問題: Exception in thread “main” java.lang.NoSuchMethodError: scala.Predef..conforms()Lscala/Predef$$less$colon$less; at org.apach

java使用類陣列 報錯Exception in thread "main" java.lang.NullPointerException

原始碼如下: Point[] points=new Point[n];//Point是一個類 for(int i=0;i<n;i++) { System.out.print("請輸入x:"); points[i].setX(in.next

連線資料庫連線池 Exception in thread "main" java.lang.NullPointerException

今天測試資料庫連線池發現一直是空指標錯誤。一般都是配置檔案出了問題。找了半天才發現,在沒有密碼的情況下不要加入password=null,估計是沒有加入關鍵字解析的。直接省去不寫就好了 driverClassName=com.mysql.jdbc.Driver