Ⅰ 為什麼我找不到javac
要想在命令框中執行javac命令,首先需要配置環境變數,方式如下(共3處需要配置):
JAVA_HOME 、classpath 都在系統變數中建立好;
java_home 添加jdk的安裝目錄,注意java_home 要書寫正確:安裝目錄後邊不要加分號。
classpath 的對應值是 .;%java_home%libdt.jar;%java_home%lib ools.jar 注意這個地方不要漏掉最前面的 點 .
在原來的path值後面添加 ;%java_home%in;%java_home%jrein
確定後 ,重新啟動cmd 輸入 javac 這次就好用了。記得要重啟。
Ⅱ Java,JavaC找不到文件,如圖所示
你這個環境應該是沒有問題,嘗試著
java -version
javac -version
看看輸出的是不是你的版本號。如果是,則環境沒有問題。
看你的這個圖,兩個命令用錯了。兩個提示找不到文件,應該是路徑的問題。
具體是什麼錯誤,還需要你詳細說一下你的問題。
-------------
java -version 中間有個空格,你這環境是沒有問題的。
編譯不成功,就是路徑錯了。檢查一下你的路徑寫對了沒有。
或者,你把你代碼中的package,你運行javac命令所在的目錄,你文件所在的目錄貼上來,咱幫你看看。
-------------
看看你的classpath有沒有配好。該環境變數前面是以.;開頭,一點加一個分號。不能少。少了就沒辦法在任意目錄進行編譯運行了。
Ⅲ java在編譯時出現 javac:找不到文件 是怎麼回事
原因一:當前的編譯路徑並非是java類的存放路徑;
原因二:java類中沒有定義或者定義的內main方法有錯誤容;
建議您切換到java類存放路徑,或確認java類中的代碼編寫有沒有出錯。
(3)javac沒找到擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
參考資料:網路_java
Ⅳ cmd命令中有javac到為什麼沒有java命令
去你配置的 %JAVA_HOME%\bin 目錄下看看 java.exe 這個執行文件是不是不存在,如果是,那你重新安裝 jdk 就行了。
Ⅳ 為什麼我的javac提示找不到文件
你的 test.java 是在E盤下面的java文件夾,而你cmd進入的是E盤根目錄,所以提示找不回到文件。答
進入cmd---->cd E:---->cd java:---->java test.java---->java test
Ⅵ JAVA編譯時出現 javac找不到文件 是為什麼
從你發的圖來看,明顯用記事本編寫源代碼時沒有正確保存源代碼的格式為.java。
使用記事本編寫Java源代碼,正確保存文件的步驟為:
1、打開"文件"菜單-「另存為」
2、在"另存為"對話框中:
文件名:Test.java
保存類型:選擇"所有文件"
Ⅶ 我的javac命令怎麼找不到文件
首先設置系統PATH變數,作用是讓系統明白javac,java是哪裡的什麼東西.我的路徑是
D:\Java\jdk1.6.0_01\bin供參考,確信那個路徑有東西.然後選好自己的工作目錄,就是你放
源代碼的文件夾(比如下面使用的j:\pro\java),不是JAVA安裝到的地方.然後在這里創建2個
批處理文件:
.
.
build.bat
----------------------------------------
set dir=j:\pro\java 設置工作目錄,即存放自己
的java文件的總路徑.
javac -d %dir% %1.java 指定存放生成class的位置
----------------------------------------
使用方法: C:\>build Hello 這里的Hello即是1%
●使用後將編譯Hello.java的源代碼,在%dir%的地方生成.class文件.
run.bat
------------------------------------------------
set JCdir=j:\pro\java 基本工作目錄
set classdir=Jexp 自定子目錄,用於不同
工程文件分開放置
java -classpath %JCdir% %classdir%.%1 classpath指出class所在
------------------------------------------------
使用: C:\>run Hello
●在下面的*.java示例代碼中看到package Jexp;他是與上面的classdir對應的,他表示生成
的.class都將放在Jexp的子目錄中;而run.bat中定義classdir正是要java在Jexp中找class.
所以如果有另一個工程要做,就把上下的Jexp同時改成別的名字.
Hello.java
------------------------------------------------
package Jexp; 編譯後輸出到的子A目錄
import java.io.*;
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello world!");
}
}
------------------------------------------------
●run.bat build.bat 及 *.java源代碼 都放置於基本工作目錄中.
打開cmd 進入工作目錄所在路徑.分別執行build Hello和run Hello就可以得到結果了.
當然,進入工作目錄的過程也可以簡化.因為進入cmd默認會進入C:\Documents and
Settings\username 可以將操作寫在bat文件中自動完成.
Sjava.bat
------------------------------------------------
cd\
j:
cd pro
cd java
------------------------------------------------
將它放在C:\Documents and Settings\username目錄下.下次一打開cmd就可以輸入
C:\Documents and Settings\username>sjava 直接跳到工作目錄
Ⅷ 為什麼javac找不到命令,但是 java可以,詳細看下圖
要看下你安裝的是jdk還是jre,如果是jdk的話,那看看環境變數有沒有設置好!這是我的path值:D:\Program Files\Java\jdk1.7.0_05\bin;前後都要有;號,要不識別不了!
Ⅸ cmd中javac找不到.java文件
這種情況屬於環境變數配置錯誤導致的
我的電腦點右鍵,選擇「屬性」,選擇「高級」標簽,進入環境變數設置,分別設置如下三個環境變數:
設置JAVA_HOME:
一是為了方便引用,比如,JDK安裝在C:\jdk1.6.0目錄里,則設置JAVA_HOME為該目錄路徑, 那麼以後要使用這個路徑的時候, 只需輸入%JAVA_HOME%即可, 避免每次引用都輸入很長的路徑串;
二則是歸一原則, 當JDK路徑改變的時候, 僅需更改JAVA_HOME的變數值即可, 否則,就要更改任何用絕對路徑引用JDK目錄的文檔, 要是萬一沒有改全, 某個程序找不到JDK, 後果是可想而知的----系統崩潰!
三則是第三方軟體會引用約定好的JAVA_HOME變數, 不然, 你不能正常使用該軟體.
在系統環境變數那一欄中點->新建JAVA_HOME (JAVA_HOME指向的是JDK的安裝路徑)
變數名: JAVA_HOME
變數值: C:\jdk1.6.0
(1)設置好path變數,使得我們能夠在系統中的任何地方運行java應用程序,比如javac、java、javah等等,這就要找到我們安裝JDK的目錄,
假設我們的JDK安裝在C:\jdk1.6.0目錄下,那麼在C: \jdk1.6.0\bin目錄下就是我們常用的java應用程序,我們就需要把C:\jdk1.6.0\bin這個目錄加到path環境變數裡面。
在系統變數里找到path變數,選擇->編輯;(裡面已經有很多的變數值,是在變數值的最前面加上C:\jdk1.6.0\bin; 如果沒有 就新建一個 但是 一般都會有的)
變數名: path
變數值: C:\jdk1.6.0\bin;
或 %JAVA_HOME%\bin;
(2)classpath環境變數,是當我們在開發java程序時需要引用別人寫好的類時,要讓java解釋器知道到哪裡去找這個類。通常,sun為我們提供了一些額外的豐富的類包,一個是dt.jar,一個是tools.jar,這兩個jar包都位於C:\jdk1.6.0\lib目錄下,所以通常我們都會把這兩個jar包加到我們的classpath環境變數中set classpath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。
在系統環境變數那一欄中點->新建classpath
變數名: classpath
變數值: .;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar;
或 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
(注意,CLASSPATH 中最前面是有個 「.」的,表示當前目錄,這樣當我們運行java AClass的時候,系統就會先在當前目錄尋找AClass文件了。)
Ⅹ 找不到javac!!!
Java新手必看之Hello World 攻略
問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!")
}