作者icydream (巧虎)
看板java
標題Re: [問題] 錯誤:找不到或無法載入主要類別
時間Sun Aug 16 17:57:19 2015
※ 引述《QooEX (QooEX)》之銘言:
[略]
: ex: 路徑放在 C:\ch01 檔案名稱 ch1_01.class 有先用javac編譯過
: dir 有看到東西
: "java ch1_01"呼叫 也試過 "java -cp . ch1_01" 皆一樣錯誤的結果
: ---------------------------------------------------------------
: ---------------------------------------------------------------
: /*
: 檔名:ch1_01.java
: 功能:ItemEvent事件(動態雙重選單)
: */
: package myJava.ch01;
: import java.lang.*;
: import java.awt.*; //載入AWT類別庫
: import java.awt.event.*; //載入AWT事件類別庫
: public class ch1_01 extends Frame
: {
: //元件區
: Button btn,btnClr;
: CheckboxGroup ckbgrp1,ckbgrp2,ckbgrp3;
: Checkbox ckb1,ckb2,ckb3,ckb4,ckb5,ckb6,ckb7,ckb8;
: Panel pnl1,pnl2,pnl3;
: Label lab1,lab2;
: public ch1_01()
: {
: ------------------------------------------------------------
: -----------------------------------------------------------
[略]
如原文所述,.java檔案放在c:\ch01的目錄底下,
使用cmd,並進入到c:\ch01
在編譯時輸入: javac -d . ch1_01.java
執行時輸入: java myJava.ch01.ch1_01
我有google到原始碼,按照上述步驟,
有成功編譯與執行,如圖:
http://imgur.com/XUpdPtq
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.235.169.181
※ 文章網址: https://www.ptt.cc/bbs/java/M.1439719041.A.D4C.html
※ 編輯: icydream (182.235.169.181), 08/16/2015 18:02:36
推 QooEX: 依照巧虎大的方式真的可以執行耶 08/16 21:03
→ QooEX: 可是不太打編譯用 "-d . "的意思 08/16 21:03
→ QooEX: 所以我的錯誤是在執行時 沒有將package 放上去嗎? 08/16 21:05
→ QooEX: 因為看到下篇也有回應讓我知道PACKAGE這邊位址的關係 08/16 21:08
沒錯,你的錯誤就是發生在package,
若有使用到package的話,編譯和執行要特別注意。
-d 是讓javac幫你依照package的階層,自動建立目錄,
. 是當前目錄,
所以-d . 的意思就是在c:\ch01的目錄底下,建立myJava\ch01
可以參考Oracle官方文件
https://goo.gl/kJ1iGV
或是良葛格文章
http://goo.gl/vsKV3V
※ 編輯: icydream (182.235.169.181), 08/16/2015 21:20:16
推 QooEX: 感謝巧虎大的解釋~在網路上找到"無法找到類別這類的問題" 08/16 21:51
→ QooEX: 完全都幾乎是說問題在CALSSPATH這邊設定的問題 08/16 21:52
→ QooEX: 幾乎都沒有提及是PACKAGE這邊有關係ORZ 08/16 21:52
→ QooEX: 所以完全沒想到跟PACKAGE 這邊有關 真的點醒了我..... 08/16 21:53