日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home

發布時間:2023/12/20 Ubuntu 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有錯誤

Exception in thread"main" java.lang.NoClassDefFoundError:

當我嘗試在Ubuntu上運行編譯類時。我使用的是一個非常簡單的helloworld示例,互聯網上已有數百萬的響應表明我的classpath和java_home變量設置錯誤。

但是,我已經將etc/environment編輯為正確的文件夾以及當前文件夾:

PATH=".:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun/"

CLASSPATH=".:/usr/lib/jvm/java-1.5.0-sun/lib"

當我輸入set命令時,它們就會出現。在任何情況下,即使我手動使用

sudo java -cp . myfirstjavaprog.class

我也有同樣的錯誤。我還應該看看哪里?這一定是配置問題。

多謝

cyberciti.biz/faq/set-environment-variable-linux

你想把.class從頭到尾丟掉。只要鍵入…

java -cp . myfirstjavaprog

我很沮喪,沒有發現這一點。

我們中最優秀的人也會遇到。

我強烈建議去掉classpath環境變量,或者至少去掉JRE/JDK。

除非另有規定,否則"."隱含在類路徑中。自從Java 1.3以來,Java已經足夠聰明,可以根據JavaC/Java可執行文件的執行路徑找到自己的運行庫和庫。從那時起,在類路徑上指定那些內容是多余的,如果不是完全錯誤的話。當然,.../lib是不正確的,因為那里只有jar,沒有類,如果沒有單獨和明確地命名,就不會從類路徑中提取它們。

現代javas足夠聰明,當您站在類路徑的根目錄中時,只需鍵入java,它就可以工作™。

你說得對,問題是當我嘗試編譯任何導入Swing組件的東西時,它給出了完全相同的錯誤。盡管helloworld.java示例很好…這似乎很奇怪。

哦。。。注意Windows默認情況下是用一個嚴重癱瘓的Java來運行的,可執行文件位于Windows系統類路徑中。請在DOS提示符下做"Java版本",看看你正在運行的Java版本是否是你想要的版本!

同樣的事情可以說是Ubuntu;因為它與GNU Java(至少是我見過的Ubuntu系統的兩個系統)一起運行,而不是Sun的Java。K,它不是"嚴重殘疾"-但它不是太陽的爪哇。

我在B/C上投票,關于"在谷歌上設置Java類路徑"的東西不多。我錯認為你還需要設置類路徑…但我錯了。

那爪哇之家呢…是否仍需要設置該路徑變量?

@特雷弗:有一些工具很喜歡看它,我好像還記得有湯姆貓和螞蟻在其中。但即使是那些沒有的人,在"正常"的情況下,你也不需要它。

使用

sudo update-java-alternatives -s java-6-openjdk

它設置了很多類路徑的東西。

你在把蘋果和桔子混在一起。命令行上的原始Java或JavaC調用需要一個類路徑來知道它可以訪問它的類。當你奔跑

java -cp pathelement1:pathelement2... MyClass

您給Java提供查找可運行類的位置列表。它不會在其他地方看到,包括".",除非你告訴它。所以"classpath"對你沒有幫助,除非你跑

java -cp $CLASSPATH MyClass

換句話說,它只是一個快捷方式,可以繼續重新輸入類路徑。

許多程序被配置為使用JavaJHOST,但最終運行Java程序只需要配置的類路徑和Java路徑(它們通過JavaJHOLD變量找到,所以您仍然需要它來處理像Ant之類的東西,但它的概念仍然只是一個快捷方式)。

您的路徑是系統查找二進制文件的路徑。如果Java不在您的路徑上(類型"Java"),它將顯示您的路徑(如果有的話,Java)。運行/完全/路徑/to/Java與運行"Java"相同,并使系統在路徑變量中找到二進制。

不,我認為是類路徑環境變量被忽略了。

正確的方法是在編譯和運行時使用-classpath選項。為每個項目設置。你眼前的證據告訴你是這樣的。

為什么類路徑被忽略?幾個原因:

這是一個Java 1偽品,已經失寵了。

JVM不能保證您已經將其設置為環境變量。

IDE有自己的需求,所以它們不依賴于它。

JavaEE應用服務器有他們自己的要求,所以他們不依賴它。

每次都必須給出整個路徑,因為每個項目都可能不同。一旦你通過了"你好,世界",你會發現你自己正在為它編寫腳本,或者使用Ant和Maven這樣的工具來幫助你為你的項目設置類路徑。

這是個壞主意。因為每次他都要全力以赴

為什么類路徑環境變量被忽略?

@拉克沙曼-錯。他必須學習如何以一種適合未來項目的方式來完成它,這種方式不太可能在命令行上編譯和運行。

這個答案像金子。然而,DOS的人是被擰死的。255個字符的命令行。再次感謝,比爾!

關鍵是,一旦通過"hello,world"和教程,就沒有人使用命令shell來編譯或運行任何有意義的東西。這幾乎不是你想要解決的問題。桌面應用程序使用腳本和Ant;部署的應用程序使用內置的約定。如果它這么大,Java早在幾年前就已經絕跡了。

好吧,我找錯地方了。原來Java是好的,我是兩個單獨的問題得到相同錯誤的受害者。

我最初試圖從Java網站上運行一個Swing實例,但我沒有注意到它有一個包定義。我已經設置了正確的文件夾結構,現在運行正常。

當我嘗試運行HelloWorld示例時,不小心包含了.class擴展名。

這兩個問題都給了我classNotFound錯誤。

非常感謝你的幫助。

我強烈建議你花些時間看太陽教程。它將幫助你以后-階級道路是臭名昭著的麻煩制造者。

http://java.sun.com/docs/books/tutorial/getstarted/toc.html網站

對于設置java_home變量,以下是說明。

http://luckydev07.blogspot.com/2009/08/setting-javahome-in-ubuntu-linux.html

類路徑可以類似地設置

已經設置了這些變量,但出于某種原因它們被忽略了。我一定有語法問題。

鏈接不再工作..考慮更新..

總結

以上是生活随笔為你收集整理的ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。