java開發環境:還在配classpath?你out啦!

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

先說結論:只需要配置JAVA_HOME和path路徑即可,無需配置classpath

參考Oracle官網的說明:

The class path tells JDK tools and applications where to find third-party and user-defined classes -- that is, classes that are not Java extensions or part of the Java platform.

不靠譜翻譯:jdk和應用通過classpath尋找第三方或用戶自定義的類所在的路徑,也就是說,那些不是java擴展或不屬于java平臺的類才需要被加入到classpath中。

The class path is the path that the Java runtime environment searches for classes and other resource files. The class search path (more commonly known by the shorter name, "class path") can be set using either the -classpath option when calling a JDK tool (the preferred method) or by setting the CLASSPATH environment variable. The -classpath option is preferred because you can set it individually for each application without affecting other applications and without other applications modifying its value.

不靠譜翻譯:classpath的路徑就是java運行環境尋找類和其他資源的路徑,classpath可以通過如下兩種方式設置 C:> sdkTool -classpath classpath1;classpath2...C:> set CLASSPATH=classpath1;classpath2... 但我們更推薦使用第一種設置方式,因為-classpath的設置方式允許你為每一個應用設置一個獨立的classpath,不會影響其他應用,也不必擔心被其他應用修改了classpath的值。

官網上說的非常明白:我們的rt.jar和tools.jar都是java平臺的jar包,根本不需要添加到classpath中。即使有些需要添加到classpath中的類,也不推薦使用設置classpath的方式。


但為什么有些同學不配置classpath編譯會報錯呢?

其實當你運行:

    javac XXX.java 

實際上是在運行 :

    java -Classpath=%JAVA_HOME%\lib\tools.jar  xx.xxx.Main  XXX.java 

javac就是對上述命令的封裝,報錯是因為沒有配置JAVA_HOME導致java命令找不到tools.jar引起的 !!!

所以一定要配置JAVA_HOME,它不僅作為變量名在path路徑中用到,很多其他的應用如IDE、tomcat默認會從JAVA_HOME中讀取jdk路徑。 每個javaer都配過的環境變量,你現在是否弄明白了呢?

轉載于:https://my.oschina.net/suyewanwan/blog/866189

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

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

相關文章

qpython3可以調用哪些庫_Python3 如何使用asyncio庫在調用第三方模塊(存在IO等待)的情況下實現協程?...

問題描述demo中有一個 task_check 的模塊,底層是用urllib實現,請問如果要實現使用 asyncio 庫實現協程操作,需要修改這個模塊的底層代碼嗎?如何修改? 往大佬指點問題出現的環境背景及自己嘗試過哪些方法平時都是使用 gevent 庫和 monkey.patch_all() 實現協程,但發現 gevent …

.Net Core 商城微服務項目系列(二):使用Ocelot + Consul構建具備服務注冊和發現功能的網關...

1.服務注冊 在上一篇的鑒權和登錄服務中分別通過NuGet引用Consul這個包,同時新增AppBuilderExtensions類: public static class AppBuilderExtensions{public static IApplicationBuilder RegisterConsul(this IApplicationBuilder app,IApplicationLife…

java打印數組_Java中打印數組內容的方式有哪些?

下面是幾種常見的打印方式。方法一:使用循環打印。public class Demo {public static void main(String[] args) {String[] infos new String[] {"Java", "Android", "C/C", "Kotlin"};StringBuffer strBuffer new Strin…

$(function() {})

$(function() {});是$(document).ready(function(){ })的簡寫, 最早接觸的時候也說$(document).ready(function(){ })這個函數是用來取代頁面中的window.onload; 用來在DOM加載完成之后執行一系列預先定義好的函數。

恢復工具

EasyRecovery http://www.upantool.com/hfxf/huifu/2011/EasyRecovery_V6.22.html轉載于:https://www.cnblogs.com/cb168/p/5359133.html

四參數坐標轉換c++_GPSRTK坐標轉換及四參數、七參數適用條件

工程測量儀器已由經緯儀、全站儀過渡到GNSS(全球衛星導航系統),特別是公路行業,GPS-RTK作為GNSS的一種應用目前已十分普及。現階段GPS-RTK以WGS-84 坐標系統為主流,所發布的星歷參數也是基于此坐標系統,但隨著北斗導航系統的逐步完…

教主的魔法

傳送門 這道題序列很長,但是操作數很少,然后也沒想到什么好的數據結構來維護,那就分塊吧。 感覺維護的過程很好想,修改的時候對于整個塊都在內的直接打標記,兩個零散的區間暴力重構,重新排序。查詢的時候&a…

obs自定義編碼設置_通過7個步驟設置OBS進行實時編碼

obs自定義編碼設置by Wesley McCann韋斯利麥肯(Wesley McCann) 通過7個步驟設置OBS進行實時編碼 (Setting up OBS for Live Coding in 7 Steps) Twitch TV is a popular live-streaming service. You traditionally used Twitch to stream yourself playing video games, but …

java hadoop api_Hadoop 系列HDFS的Java API( Java API介紹)

HDFS的Java APIJava API介紹將詳細介紹HDFS Java API,一下節再演示更多應用。Java API 官網如上圖所示,Java API頁面分為了三部分,左上角是包(Packages)窗口,左下角是所有類(All Classes是)窗口,右側是詳情窗口。這里推…

最大連通子數組

這次是求聯通子數組的求和,我們想用圖的某些算法,比如迪杰斯特拉等,但是遇到了困難。用BFS搜索能達到要求,但是還未能成功。 那么我們這樣想,先將每行的最大子數組之和,然后再將這些最大之和組成一個數組&a…

redis的zset的底層實現_Redis(三)--- Redis的五大數據類型的底層實現

1、簡介Redis的五大數據類型也稱五大數據對象;前面介紹過6大數據結構,Redis并沒有直接使用這些結構來實現鍵值對數據庫,而是使用這些結構構建了一個對象系統redisObject;這個對象系統包含了五大數據對象,字符串對象(st…

科學計算機簡單編程_是“計算機科學”還是“編程”?

科學計算機簡單編程by Sam Corcos由Sam Corcos 是“計算機科學”還是“編程”? (Is It “Computer Science” or “Programming”?) 教育政策白皮書(提示:它們不是同一個東西) (An education policy white paper (hint: they’re not the same thing))…

[Matlab] 畫圖命令

matlab畫圖命令,不定時更新以便查找 set(gcf, color, [1 1 1]);     % 使圖背景為白色 alpha(0.4);           %設置平面透明度 plot(Circle1,Circle2,k--,linewidth,1.25);  % k--設置線型  ‘linewidth’,1.25  設置線寬度為1.25 %線型   …

django入門記錄 2

1. 創建一個app, python manage.py startapp appname 2. 設計model,在appname/目錄下編輯好model 3. 檢測model的修改,python manage.py makemigrations appname 4. 自動執行數據庫遷移,并同步管理數據庫結構, python…

spark sql 數據類型轉換_SparkSql 數據類型轉換

1、SparkSql數據類型 1.1數字類型 ByteType:代表一個字節的整數。范圍是-128到127 ShortType:代表兩個字節的整數。范圍是-32768到32767 IntegerType:代表4個字節的整數。范圍是-2147483648到2147483647 LongType:代表8個字節的整數。范圍是-9223372036854775808到92233720…

【Python】 list dict str

list & dict & str 這三種類型是python中最常用的幾種數據類型。他們都是序列的一種 ■  序列通用操作 1. 分片 s[a:b] 返回序列s中從s[a]到s[b-1]的片段。注意s[0:0]是空集而不是s[0] s[a:b:c]  加入第三個參數以設置取樣步長。可以設置成負數來從右向左取樣 2. 加…

終端terminal的顏色配置

PS1 color 終端terminal的顏色配置 PS1"\[\e[92;1m\][\u\e[90;5m\e[25m\[\e[91;4m\]Atlas\e[24m\[\e[1m\]\[\e[92;1m\] \W ]\\$\[\e[0m\]" Set CodeDescriptionExamplePreview1Bold/Bright echo -e "Normal \e[1mBold" 2Dim echo -e "Normal \e[2mDi…

速度與激情的Webpack

Also published in my tech blog也發布在我的技術博客中 This is a guide that is meant to help you ease your development workflow and save your time by using a bunch of awesome tools that you’ve read about on the internet (does React Hot Loader ring any bells…

java nio socket長連接_nio實現Socket長連接和心跳

前段時間用bio方式,也就是傳統io實現了socket的長連接和心跳,總覺著服務端開啟多線程管理socket連接的方式過于消耗資源,數據并發的情況下可能會影響到性能,因此就嘗試使用nio改進原來的代碼。然而改進的過程卻不像我起初設想的那…

unity讓對象作為參數_C#+Unity學習筆記:類與對象

參考文獻蜜酒廳通訊社 游戲部 石中居士對象(object):有狀態、行為和身份的東西。狀態(state):表示物體特征的信息,可以用來跟蹤對象的狀態。屬性(properties):因為編程人員需要把控對象的狀態,所以要對其進行訪問。通過…