Re: [問題] classpath
1、C:\MyProject\exe.java 檔案開頭不能有 package 的宣告
C:\MyProject\package1\含一堆java檔 檔案開頭必須是 package package1;
C:\MyProject\package2\含一堆java檔 檔案開頭必須是 package package2;
Compile : javac -cp C:\MyProject C:\MyProject\exe.java
Run : java -cp C:\MyProject exe
2、C:\MyProject\packageExe\exe.java 檔案開頭必須是 package packageExe;
C:\MyProject\package1\含一堆java檔 檔案開頭必須是 package package1;
C:\MyProject\package2\含一堆java檔 檔案開頭必須是 package package2;
Compile : javac -cp C:\MyProject C:\MyProject\packageExe\exe.java
Run : java -cp C:\MyProject packageExe.exe
※ 引述《neigence (心夜)》之銘言:
: 最近遇到個奇怪的問題
: 如果我檔案是這樣放
: MyProject --- exe.java
: --- package1 --- 含一堆java檔
: --- package2 --- 含一堆java檔
: 這樣子的話 我在dos下執行 可以順利compile 也可以順利執行
: 可是如果我這樣放
: MyProject --- packageExe --- exe.java
: --- package1 --- 含一堆java檔
: --- package2 --- 含一堆java檔
: 這樣子的話 我可以compile 但卻沒辨法執行 錯誤訊息如下
: Exception in thread "main" java.lang.NoClassDefFoundError : exe
: at java.lang.ClassLoader.defineClass1(Native Method)
: at java.lang.ClassLoader.defineClass(Unknown Source)
: at java.security.SecureClassLoader.defineClass(Unknown Source)
: at java.net.URLClassLoader.defineClass(Unknown Source)
: at java.net.URLClassLoader.access$000(Unknown Source)
: at java.net.URLClassLoader$1.run(Unknown Source)
: at java.security.AccessController.doPrivileged(Native Method)
: at java.net.URLClassLoader.findClass(Unknown Source)
: at java.lang.ClassLoader.loadClass(Unknown Source)
: at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
: at java.lang.ClassLoader.loadClass(Unknown Source)
: at java.lang.ClassLoader.loadClassInternal(Unknown Source)
: 總之 一整個奇怪
: 第一種可以的情況 我輸入的指令是
: javac -cp D:\MyProject D:\MyProject\exe.java
: java -cp D:\MyProject exe
: 第二種的話是
: javac -cp D:\MyProject D:\MyProject\exePackage\exe.java
: 這樣的情況當然在eclipse下還是可以跑 只是dos下我弄不出來
: 或者請問 怎麼看eclipse幫你呼叫了那些命令
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.29.20
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章