[英]Adding a library to Java CLASSPATH in Ubuntu
我不確定我的問題是否與Ubuntu或Java有關,所以請原諒我!
我正在嘗試編譯java程序,但是我收到以下錯誤:
package javax.comm does not exist
我已經下載了所需的包comm.jar
但我不知道如何/在哪里安裝/復制此文件。
我在某處讀到這應該在CLASSPATH
文件夾中,但我沒有這個文件夾。
這是我得到的java -version
我想這意味着我已經在我的系統中安裝了Java:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)
我在/usr/lib/jvm/
也有這些文件夾:
default-java java-1.7.0-openjdk-i386 java-6-openjdk-i386
java-1.6.0-openjdk java-6-openjdk java-7-openjdk-common
java-1.6.0-openjdk-i386 java-6-openjdk-common java-7-openjdk-i386
通常,在使用switch java -cp your.jar xxxx.java
啟動java程序時,請指定類路徑
但您也可以通過將jar復制到default-java / jre / lib / ext文件夾將其永久添加到Java安裝中。
最后看一下這個問題: 在java classpath中設置多個jar
環境變量CLASSPATH包含一個以冒號分隔的Java應搜索類的位置列表。 嘗試
export CLASSPATH=$CLASSPATH:/path/to/comm.jar
您可以嘗試按以下方式執行此操作:
javac -cp comm.jar XXXXX.java
或 export CLASSPATH=comm.jar:$CLASSPATH
如果要編譯名為foo.bar.Baz
的類,則必須將Baz.java
文件放在foo/bar
目錄中,並從foo
的父目錄啟動javac
,即如果列出當前目錄的內容,則可以見foo
列出。 或者,有-sourcepath
命令行開關:
javac -sourcepath .:/home/asdf/qwerty foo.bar.Baz.java
假設您的類聲明如下
import foo.bar.*;
public class Baz {}
您必須將此代碼放在/home/raf/foo/bar/Baz.java
文件中,並在調用編譯器之前更改到目錄/home/raf
。
如果javac在其sourcepath中找不到foo/bar
目錄樹,則會輸出“package foo.bar not exists”錯誤。 因此,您要么更改到正確的目錄,要么使用-sourcepath
開關指向項目的根目錄,即包含javax/comm
的目錄。 將您的源代碼放在如下目錄中:
+ /home/raf/project/src
|
+-/javax
|
+-/comm
並從src
目錄調用javac
cd /home/raf/project/src
javac $filenames
或者使用上述開關
javac -sourcepath /home/raf/project/src $filenames
您需要調整CLASSPATH
以讓javac針對現有歸檔進行編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.