似乎有很多問題詢問如何從java內部的或使用應用程序中獲取給定導入的類路徑,但我無法在SO上找到任何關於如何在沒有使用任何工具或Java功能的情況下找到給定導入的相應路徑。給定類路徑的相應導入
我只是想知道導入應該如何根據$CLASSPATH
的內容進行映射。
注意我很新來java;所以我很抱歉,如果答案是痛苦明顯的。
// does this map to "$CLASSPATH/more/libs/for/you/you.jar"
import more.libs.for.you;
之所以我需要知道這是因爲我試圖找出如何正確包裝/安裝jna,這樣我可以正確導入。目前,它的/usr/share/java/jna
下安裝,但(根據docs,如果我正確地理解他們)正確導入com.sun.jna.*
但是當我嘗試導入jna
我得到:
error: package com.sun.jna does not exist
我甚至嘗試/usr/share/java/com/sun/jna/
下安裝jna
,但也沒有工作,我仍然有同樣的錯誤。
我$CLASSPATH
是/usr/share/java/*:$PWD:$CLASSPATH
我不明白這是如何回答我的問題。如果它位於'/ usr/share/java//COOLNAME.jar'下,我該如何導入'.jar'? java只是知道'COOLNAME.jar'是如何導入的:'import sys.bunchOfMonkeys.COOLNAME;'只要它在類路徑中? –
你*無法導入一個jar *。要使用.jar文件中的類,您需要將該.jar文件添加到類路徑或在運行時用'URLClassLoader'加載它 – ControlAltDel
是否必須顯式添加到類路徑,還是通配符工作? –