免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
如何運行Java程序和設置CLASSPAT | 中國網(wǎng)管聯(lián)盟
如何運行JAVA和CLASSPATH環(huán)境變量的設置是學習和使用JAVA中最基本的問題,本不應在此贅述。但近來不少人在論壇上提出的問題卻與此有關,我平時碰到的一些初學者也往往在這個問題上卡了殼,因此寫了這篇小東西,希望能對一些初學者有用。
  
  我們都知道要運行一個JAVA程序要經歷編寫原程序,編譯和運行三個步驟。其中編譯要用到javac命令,而運行則要用到java命令。比如有一個HelloWorld的類,保存在HelloWorld.java文件中。編譯時用:
  javac HelloWorld.java
  生成HelloWorld.class文件,運行時要用:
  java HelloWorld
  
  這里要注意javac與java兩個命令的重要差別。javac需要的參數(shù)是JAVA原文件的文件名,因此.java的后綴是不能少的,而javac需要的參數(shù)是JAVA的類名,所以絕對不能加.class后綴。這樣以下兩種用法都是錯誤的:
  javac HelloWorld (Wrong!!)
  java HelloWorld.class (Wrong!!)
  
  又因為Windows的文件系統(tǒng)對文件名的大小寫是不敏感的,因此在編譯時給出的原文件名大小寫沒有關系,但java命令要的是類名,而在JAVA中所有的標識符包括類名都是大小寫敏感的,因此在用java命令時,類名的大小寫必須和原文件中定義的類名完全一致。注意下列命令用法:
  javac helloworld.java (Corrent!!)
  java HelloWorld (Wrong!!)
  
  既然用java命令運行JAVA程序時給出的是類名而不是文件名,那么java又是到那里去找到要運行的類的呢?這就要用到CLASSPATH了。即可以通過設置CLASSPATH環(huán)境變量,又可以通過-cp命令行參數(shù)指示java到哪里去查找類。其實javac也是需要CLASSPATH來指明編譯時到哪里查找用到的類的定義的。如果CLASSPATH設定不正確,運行時就會碰到這樣的錯誤:
  Exception in thread "main" java.lang.NoClassDefFoundError: <類名>
  而遇到這樣的錯誤原因只可能是兩個:
  1. CLASSPATH設定不正確;
  2. 類名打錯。初學者最常見的是大小寫錯。
  
  CLASSPATH是一組互相間由";"隔開的目錄,zip文件或jar文件。ZIP和JAR文件一般是用來引入一些第三方的類庫,這些文件中也都包含了JAVA的類。這些目錄、ZIP文件或JAR文件一般都是用絕對路徑,如果用相對路徑,那么在運行時就會解釋為相對于當前路徑。
  
  在Win9x系統(tǒng)中,一般可以通過在autoexec.bat中加入這樣的語句來定義全局的CLASSPATH(假設你把自己寫的類放在c:\myjava目錄下)
  set CLASSPATH=c:\myjava
  Win9x操作系統(tǒng)需要重起機器,這個設置才能起作用。
  如果是Windows2000,可以在控制面板\系統(tǒng)\高級\環(huán)境變量中新建CLASSPATH環(huán)境變量。Windows2000不需要重起機器,但對設置之前打開的DOS命令窗口沒有效果。
  要檢查CLASSPATH設置是否正確,可以通過在DOS提示符下大打入以下命令:
  echo %CLASSPATH%
  
  如果要用-cp命令參數(shù),則可以這樣:
  java -cp c:\myjava .....
  
  下面是天涯浪子與12237558鯤鵬的一段對話,希望能對初學者有點幫助~
  
  (2001-06-08 17:01:06) 天涯浪子
  C:\jdk
  這是我JDK的安裝目錄!
  你幫我寫一個autoexec.bat 和Config.sys好嗎?
  鯤鵬:
  與config.sys無關.
  關鍵是你的類放在什么路徑.
  
  天涯浪子:我寫的在c:\java下面!
  
  鯤鵬:
  autoexec.bat:
  set PATH=%PATH%;c:\jdk\bin
  set CLASSPATH=c:\java
  
  天涯浪子:那原來的PATH還用改嗎?
  
  鯤鵬:原來的PATH是怎樣的?
  
  天涯浪子:哦,我加在原來";"的后面了~
  
  鯤鵬:這樣應該也不錯呀。
  
  天涯浪子:還是出錯了~
  
  鯤鵬:你把提示發(fā)過來
  
  天涯浪子:
  C:\java>java helloworldapp
  Exception in thread "main" java.lang.NoClassDefFoundError: helloworldapp (wrong
  name: HelloWorldApp)
   at java.lang.ClassLoader.defineClass0(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown So
      這只是一半,還有一半沒有發(fā)過來呢~
  鯤鵬:
  執(zhí)行javac helloworld.java時,javac將通過文件系統(tǒng)查找helloworld.java這個文件,因為文件系統(tǒng)是大小寫不分的,所以helloworld.java 和HelloWorld.java是一樣的。
  執(zhí)行java helloworld時,java自己查找helloworld這個類,即使它通過文件系統(tǒng)找到了HelloWorld.class這個類文件,但它會把類文件中的類名和你給出的類名比較,這個比較是區(qū)分大小寫的。
  我沒有說錯。
  在執(zhí)行javac時,給出的文件名大小寫是沒有關系的,
  但執(zhí)行java時,給出的類名大小寫也必須正確。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JAVA的helloworld.java程序在cmd javac命令下執(zhí)行//window...
Exception in thread “main” java.lang.NoClassDefFoundError錯誤解決
JDK環(huán)境變量配置
新手功略(如何運行好一個HelloWorld程序)
java基礎知識(一)
0基礎學Java(四)開發(fā)第一個Java程序HelloWorld
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服