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

類路徑可以類似地設置

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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Polo the Penguin and Matrix

Little penguin Polo has an n??m matrix, consisting of integers. Lets index the matrix rows from 1 to n from top to bottom and lets index the columns from 1 to m from left to right. Lets represent the matrix element on the intersection of row i and column…

趣解 XSS和CSRF的原理

參考文章:趣解 XSS和CSRF的原理 推薦網站:古黑論 感謝作者分享!

js異步解決方案 --- 回調函數 vs promise vs generater/yield vs async/await

javascript -- 深度解析異步解決方案 高級語言層出不窮, 然而唯 js 鶴立雞群, 這要說道js的設計理念, js天生為異步而生, 正如布道者樸靈在 node深入淺出--(有興趣的可以讀一下, 很有意思^_^) , 異步很早就存在于操作系統的底層, 意外的是,在絕大多數高級編程語言中…

什么是TPDU

TPDU,全稱Transport Protocol Data Unit,是指傳送協議數據單元。代表從一個傳輸實體發送至另一個傳輸實體的消息。 我們需要為傳輸實體之間交換的數據單元起一個更加一般化的名字,TCP的術語是數據段,它很容易混淆,而且在TCP領域之…

sql注入基本原理

1. 參考文獻: 趣解SQL注入原理 Sql注入基本原理 2.參考書籍

項目管理雜談-員工的積極性在哪里?

項目開發過程中,每每有人感嘆,曾幾何時,隊伍如何好帶,如何好用,而如今,人心繁雜,隊伍不好帶了。很多人的想法是“人望高處走”,不停的尋找待遇及其他方面更好的單位。其實&#xff0…

centos7硬盤分區

首先在虛擬機的設置中為系統添加硬盤 使用fdisk -l /dev/sdb 查看未分區的硬盤 fdisk -l /dev/sda 這是已經分區好得 接下來我們就要對sdb進行分區: 首先使用fdisk /dev/sdb 接著輸入m可以看到詳細命令 進行添加分區 已經建立好4個主分區,在建立時會看到以下 刪除…

java上傳rar文件_java實現上傳zip/rar壓縮文件,自動解壓

在pom中添加解壓jar依賴4.0.0org.springframework.bootspring-boot-starter-parent2.1.2.RELEASEcom.hfuncompress0.0.1-SNAPSHOTuncompress上傳壓縮文件(rar或者zip格式),解壓1.8org.springframework.bootspring-boot-starter-weborg.projectlomboklomboktrueorg.springframew…

從MapReduce的執行來看如何優化MaxCompute(原ODPS) SQL

摘要: SQL基礎有這些操作(按照執行順序來排列): from join(left join, right join, inner join, outer join ,semi join) where group by select sum distinct count order by 如果我們能理解mapreduce是怎么實現這些SQL中的基本操…

套接字(socket)基本知識與工作原理

套接字(socket)基本知識與工作原理 一、Socket相關概念 Socket通常也稱作“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。(其實就是兩個程序通信用的。) SOCKET用于在兩個基于TCP/IP協議的應用程序之…

python 多線程--重點知識

1.全局變量global的用法 2.多線程共享全局變量-args參數 注意args參數類型為元組,逗號不能少!

Flask WTForm表單的使用

運行環境: python2.7 flask 0.11 flask-wtf 0.14.2 wtform能夠通過一個類定義一些字段,這些字段會在前端生成標簽,并且通過設置字段的驗證規則,自動判斷前端輸入數據的格式。 一般用于用戶登錄,用戶注冊等信息錄入。…

Java與C#個人之比較

網上這方面的比較文章已經有不少了,不過大都是要么從很高的角度說的,要么就是從底層說的,本人就以自己這幾年的編程經歷中的感受,來談談自己的體會。 相似性: Java和C#都是一門面向對象的語言,Java更多地…

java利用子類求正方形_Java程序設計實驗2011

(2)掌握對象的聲明和使用;(3)掌握構造方法的概念和使用;(4)掌握類及成員的訪問控制符。2、實驗任務(1)閱讀下面的程序,在main()方法里添加語句完成如下的功能:①創建一個MyV alue類的對象myV alue。②為myV alue對象中的value域賦…

當導用模塊與包的import與from的問題(模塊與包的調用)

當在views.py里寫impor models會不會報錯呢? 1、Python里面的py文件都是每一行的代碼。2、Python解釋器去找一個模塊的時候,只去sys.path的路徑里找3、django項目啟動(django項目的啟動文件是manage.py)啟動項目是將manage.py的路…

ack和seq

ACK (Acknowledgement),即確認字符,在數據通信中,接收站發給發送站的一種傳輸類控制字符。表示發來的數據已確認接收無誤。 seq是序列號,這是為了連接以后傳送數據用的,ack是對收到的數據包的確認&#xff…

MySQL中的information_schema

0.引言 近日在學習網絡安全的sql注入時,用到mysql中的information_schema數據庫,其思路是利用information_schema中的SCHEMA獲取數據庫中的table名稱。現在對相關數據庫進行總結,方便以后復習使用。 2.information_schema數據庫 informati…

linux配置防火墻,開啟端口

linux配置防火墻,開啟端口 Centos7,配置防火墻,開啟端口  1.查看已開放的端口(默認不開放任何端口)    firewall-cmd --list-ports  2.開啟80端口    firewall-cmd --zonepublic(作用域) --add-port80/tcp(端口和訪問類型) --permanent(永久…

使用Intel編譯器系列合集

好的帖子:http://topic.csdn.net/u/20080327/16/071b45df-3795-4bf1-9c4d-da4eb5aaa739.html參考手冊:http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/index.htm 說明:本系列文章為個…

【前端】這可能是你看過最全的css居中解決方案了~

1.水平居中&#xff1a;行內元素解決方案 適用元素&#xff1a;文字&#xff0c;鏈接&#xff0c;及其其它inline或者inline-*類型元素&#xff08;inline-block&#xff0c;inline-table&#xff0c;inline-flex&#xff09; html部分代碼:<div>文字元素</div><…