導航:首頁 > 源碼編譯 > cmd執行java不能編譯

cmd執行java不能編譯

發布時間:2023-01-15 20:47:57

⑴ cmd下編譯java出錯

你沒有設置好環境變數
所以找不到你的A.CLASS
網上配置環境變數的文章很多,我給你找個連接
就不親自手寫了!
問HelloWorld問題的人實在是太多了,而且經常都以「問一個最簡單的問題」開頭。其
實回想一下,自己也是從這個階段過來的,說一句「你好」,真的是一個最簡單的問題嗎?...//think
好了,言歸正傳,let\´s
say
\"HelloWorld!\"
in
java...
首先,我們要假設一下我們的平台是Windows+JDK(Linux環境下也差不多)。這個環境
是相當普遍、基礎和入門的。確定已經正確安裝JDK了,下一步是小心翼翼地敲入某本教
程上的HelloWorld源碼,存檔,然後編譯,javac
...問題來了:
*
錯誤1:
\´javac\´
不是內部或外部命令,也不是可運行的程序或批處理文件。
(javac:
Command
not
found)
產生的原因是沒有設置好環境變數path。Win98下在autoexce.bat中加入
path=%path%;c:\\jdk1.2\\bin,Win2000下則控制面板->系統->高級->環境變數->系統變
量...看到了?雙擊Path,在後面加上c:\\jdk1.2\\bin。當然我們假設JDK安裝在了
c:\\jdk1.2目錄下(有點唐僧了?)...好像還要重啟系統才起作用...(//知道了!//西
紅柿)
好,再試試!javac
HelloWorld
*
錯誤2:
HelloWorld
is
an
invalid
option
or
argument.
拜託,給點專業精神,java的源程序是一定要存成.java文件的,而且編譯時要寫全
.java呀。
OK,
javac
HelloWorld.java
(這回總該成了吧?)
*
錯誤3:
HelloWorld.java:1:
Public
class
helloworld
must
be
defined
in
a
file
called
\"HelloWorld.java\".
public
class
helloworld{
^
這個問題嘛,是因為你的類的名字與文件的名字不一致。(誰說的,明明看到人家都有
這樣寫的
;(

OK,准確地說,一個Java源程序中可以定義多個類,但是,具有public
屬性的類只能有一個,而且要與文件名相一致。還有,main方法一定要放在這個public
的類之中,這樣才能java(運行)這個類。另外一點是Java語言裡面是嚴格區分大小寫
的,初學者要注意呀。像上例中
helloworld

HelloWorld
就認為是不一樣,因而...
oh...
好,改好了,嘻嘻...
javac
HelloWorld.java
...(咦,怎麼什麼也沒有呀?)//faint
這就是編譯通過了!看看是不是多了一個
HelloWorld.class
?
(hehe..按書上教的:)
java
HelloWorld
(!!
這個我知道,不是java
HelloWorld.class
喲)
*
錯誤4:
Exception
in
thread
\"main\"
java.lang.NoClassDefFoundError:
HelloWorld
呵呵,這個嘛,就是著名的類路徑(classpath)問題啦。實際上,類路徑是在編譯過程就
涉及的Java中的概念。classpath就是指明去哪裡找用到的類,就這么簡單。由於我們的
HelloWorld沒用到其它的(非java.lang包中的)類,所以編譯時沒遇到這個問題。運行
時呢,就要指明你的類在哪裡了。解決方法嘛,可以用下面的命令運行:
java
-classpath
.
HelloWorld
「.」就代表當前目錄。當然這樣做有點麻煩(是「太麻煩」!),我們可以在環境變數
中設置默認的classpath。方法就照上述設置path那樣。將classpath設為:
classpath=.;c:\\jdk1.2\\lib\\dt.jar;c:\\jdk1.2\\lib\\tools.jar
後面的兩個建議也設上
,以後開發用的著。
java
-classpath
.
HelloWorld(再不出來我就不學java了)
*
錯誤5:
Exception
in
thread
\"main\"
java.lang.NoSuchMethodError:
main
(//咣當)別,堅持住。看看你的代碼,問題出在main方法的定義上,寫對地方了嗎,
是這樣寫的嗎:
public
static
void
main(String
args[])
{
//一個字都不要差,先別問為什麼了...
對,包括大小寫!
java
-classpath
.
HelloWorld
(聽天由命了!)
Hello
World!
(faint!終於...)
歡迎來到Java世界!所以說,無法運行HelloWorld
真的並不是一個「最簡單的問題」。
附:HelloWorld.java
//
HelloWorld.java
public
class
HelloWorld
{
public
static
void
main(String
args[])
{
System.out.println(\"Hello
World!\")
;
}
}
附錄:(其他常見錯誤FAQ)
我是個JAVA初學者,剛裝了JDK1。3,照著書上寫了個HELLOWORLD的程序,
用JAVAC編譯也成功了,目錄下生成了。CLASS文件,
可是當我用JAVA命令執行時,卻出現如下錯誤:
Error
opening
registry
key
\´Software\\JavaSoft\\Java
Runtime
Environment\´
Error:
could
not
find
java.dll
Error:
could
not
find
Java
2
Runtime
Environment.
請問這是哪兒出了問題呀!
回答一:
>裝
1.3.1

>這是個小bug
>自己改改注冊表也行
>運行環境->Runtime
Environment
回答二
>修改你的注冊表中
JavaHome
>RuntimeLib
到正確的目錄
回答三:
>檢查path,將jdk\\bin目錄加在path的開頭

⑵ 為什麼java文件在cmd中編譯不成class文件

java程序編譯之後沒有產生class文件的原因如下:

⑶ myEclipse編寫的java程序,cmd里不能編譯

首先確定classpath中有「.」
然後保證你依賴的類都在classpath里,否則需要制定classpath參數
在包的最外層執行 java -classpath c:\your_depend_classpath homework.newforder.school

⑷ CMD中用 javac A.java 命令時編譯出錯

應該很難實現,從文件內容確定編碼格式不一定準確。
utf-8,utf-16能用前導字元來確定,其他編碼好像不行。

另外一個項目的文件一般都是一個編碼,這個好像沒太大必要

⑸ 我安裝了Java的基本程序jdk1.5,可是 在cmd中卻不能用Javac 進行文件的編譯

右鍵我的電腦->屬性->高級->環境變數
在系統變數里新建【JAVA_HOME】「F:\Java\jdk1.6.0_12」jdk1.6.0_12是我裝的版本,你看你自己的版本然後改下名字;
【Path】「%JAVA_HOME%\bin;」注意,這個要添加到系統原來的PATH前面,要像有些人說的加後面可能會不能編譯。
【Classpath】「.;%JAVA_HOME%\lib\tools.jar」
然後就是試下看是否配置成功了
關於設置JAVA
HOME的必要性:你若裝TOMCAT或ORACLE等都會改變你的環境設置,總是改path,classpath容易出錯也不方便,所以JAVA
HOME就有了統一指向性,方便不易出錯
開始-運行-CMD然後「javac」會出現很多操作說明,也可以「java
-version」查看版本信息。再就是自己編個簡單的JAVA文件試下了。

⑹ 在網上下載了java的俄羅斯方塊的源代碼,用cmd運行總是不能通過編譯,提示「無效的標志」

javac是編譯的命令
運行時用java 包含主方法的類全名
建議學習一下java的基礎再來運行程序

補充回答:根據你的提示,你的電腦上應該是裝有JDK的,並非不給你詳細步驟,只是需要看到代碼才能准確地寫出步驟,因為你連包名、類名都不知道

詳細步驟:
1.先用javac 命令編譯你下載的所有的.java文件
2.用java命令執行這些文件中的一個含有main()方法的那個文件

ps:執行第一步編譯操作時,需要加上包名,查看包名的辦法是,打開你要編譯的一個.java文件,文件的第一行也就是以package 開頭的一行,package 後面有一個空格,然後後面的內容就是包名,他的寫法是package aaa.bbb.ccc;
你在編譯時的操作:
在命令行輸入:
javac aaa/bbb/ccc/Xxx.java
其中Xxx.java即是你打開這個文件的文件名

一般編譯成功的標志就是你在命令行中輸入上面那句話以後敲回車,然後游標直接跳到下一行,沒有任何提示。然後你會發現,在這個.java文件的同路徑下,多了一個前綴相同,後綴為.class的文件
如果有一些英文提示表示你編譯失敗了,應該是你的包名或類名的原因,仔細修改吧!

執行第二步:
java aaa.bbb.ccc.Xxx
將編譯時的/全部換成.
最後的.java就不要寫了
如果執行成功了,你就可以看到那個俄羅斯方塊的界面了。

說得還算詳細吧,貌似有點羅索了,呵呵,樓主將就看吧,為了這10分我可真不易啊!

⑺ Java 用cmd 為什麼編譯不了

命令錯誤
應該先用命令進入你文件所在的文件夾
然後在此文件夾內執行javac命令
你直接把路徑輸入到命令行是不行的
d: 回車
cd java回車
javac 文件名

⑻ java在cmd中編譯執行出現錯誤 javac咋么就錯了

java環境變數設置 - 詳細版

把jdk安裝到計算機後(這里以jdk1.7來安裝,其他版本一樣),再進行設置,java環境才能夠生效。

首先,右鍵點我的電腦。打開屬性。然後選擇「高級」裡面的「環境變數」,在新打開的界面中的需要設置三個系統變數屬性「JAVA_HOME」、「Path」、「CLASSPATH」。在沒安裝過jdk前,path屬性是原本就存在的,而
JAVA_HOME和CLASSPATH這倆個系統變數是不存在的,需要新建。
點「新建」,然後在「變數名(N)」寫上JAVA_HOME,JAVA_HOME變數表示java的安裝路徑。然後在改變數值(N)寫入剛才安裝的路徑「C:\jdk1.7」。
(註: 如果安裝的路徑不是磁碟C或者不是在jdk1.7這個文件夾,可對應修改。以下文字都是假定安裝在C:\jdk1.7裡面。)

其二,在系統變數裡面找到Path,然後點「編輯」,Path變數表示系統在任何路徑下都可以識別java命令。然後在改變數值(N)寫入「.;%JAVA_HOME%\bin」,(其中「%JAVA_HOME%」的意思為剛才設置JAVA_HOME的值),也可以
直接寫上「C:\jdk1.7\bin」,推薦使用前者,復用性高。

其三,再點「新建」,然後在變數名上寫CLASSPATH,CLASSPATH變數表示java載入類(class or lib)路徑,只有類在CLASSPATH中,java命令才能識別。然後在改變數值(N)寫入「.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar」 (要加.表示當前路徑)

最後,java環境變數設置完畢,按「確定」直至屬性窗口消失,即保存成功
驗證java環境變數設置是否成功。先打開「開始」->「運行」,打入「cmd」,進入dos系統界面。然後輸入「java -version」,如果安裝成功。系統會顯示java version jdk"1.7.0"。這樣java環境變數設置OK了!

總結,java環境變數設置目的:

1,JAVA_HOME
(1)為了方便引用,例如你jdk安裝在C:\Program Files\Java\jdk1.7.0目錄里,則設置JAVA_HOME為該目錄路徑, 那麼以後你要使用這個路徑的時候, 只需輸入%JAVA_HOME%即可, 避免每次引用都輸入很長的路徑串;
(2)歸一原則, 當你jdk路徑需要改變的時候, 你僅需更改JAVA_HOME的變數值即可, 否則你就要更改任何用絕對路徑引用jdk目錄的文檔, 要是萬一你沒改全,某個程序找不到jdk, 後果就可能是程序崩潰;
(3)第三方軟體會引用約定好的JAVA_HOME變數, 才能夠正常使用該軟體, 以後用JAVA久了就會知道, 要是某個軟體不能正常使用, 很可能就是JAVA_HOME設置不對造成的;

2,CLASSPATH
設置CLASSPATH的目的是為了程序能找到相應的".class"文件, 舉個例子: 編譯一個JAVA程序---A.java, 會得到一個A.class的類文件,在當前目錄下執行java A, 將會得到相應的結果(前提是已經設置
CLASSPATH為"."). 現在, 把A.class移到別的目錄下(例如:"e:\"), 執行java A, 將會拋出java.lang.NoClassDefFoundError異常,原因就是找不到.class文件, 現在你把CLASSPATH增加為:".;e:\"再運行java A, 結果一切正常, java命令通過CLASSPATH找到了.class文件!

3,PATH
你想在任何時候都使用%JAVA_HOME%\bin\java 等來執行java命令嗎, 當然不會, 於是, 你可以選擇把 %JAVA_HOME%\bin添加到PATH路徑下, 這樣, 我們在任何路徑下就可以僅用java來執行命令了.(當你在命令提示符窗口輸入你個代碼時,操作系統會在當前目錄和PATH變數目錄里查找相應的應用程序, 並且執行.

三,java環境變數設置 - 錯誤案例

錯誤:java.lang.NoClassDefFoundError
描述:當 Java 虛擬機或 ClassLoader 實例試圖在類的定義中載入(作為通常方法調用的一部分或者作為使用new 表達式創建的新實例的一部分),但無法找到該類的定義時,拋出此異常。
原因:java環境變數設置錯誤

閱讀全文

與cmd執行java不能編譯相關的資料

熱點內容
加密u盤內容怎麼拷貝 瀏覽:281
安卓手機為什麼看不到iso文件 瀏覽:578
用圖片做文件夾圖標 瀏覽:693
java正則表達式語法 瀏覽:865
美圖秀在線壓縮圖片 瀏覽:184
蘋果自帶控制app是什麼 瀏覽:906
孩子學編程怎麼樣 瀏覽:589
網路編程經典書籍 瀏覽:612
曲靖創建網站java程序員 瀏覽:690
256位加密中是什麼意思 瀏覽:97
php多維數組去重 瀏覽:308
做程序員這一行儲備人才怎麼看 瀏覽:460
參加密逃文 瀏覽:327
蘋果編程語言ios 瀏覽:763
求解病態系統常用的演算法 瀏覽:993
駕校用的app叫什麼 瀏覽:219
數控編程線的纏繞方法 瀏覽:972
安卓線性布局怎麼設計計算器布局 瀏覽:24
拓本pdf 瀏覽:79
2017法碩指南pdf 瀏覽:295