9

私の質問が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
4

4 に答える 4

13

通常、スイッチを使用してJavaプログラムを起動するときに、クラスパスを指定します java -cp your.jar xxxx.java

ただし、jarをdefault-java / jre / lib / extフォルダーにコピーすることにより、Javaインストールに永続的に追加することもできます。

最後に、この質問を見てください:javaクラスパスに複数のjarを設定する

于 2012-09-27T13:23:57.807 に答える
8

環境変数CLASSPATHには、Javaがクラスを検索する場所のコロンで区切られたリストが含まれています。試す

export CLASSPATH=$CLASSPATH:/path/to/comm.jar
于 2012-09-27T13:24:34.883 に答える
1

あなたは以下のようにそれを試みることができます:

  1. javac -cp comm.jar XXXXX.java また
  2. export CLASSPATH=comm.jar:$CLASSPATH
于 2012-09-27T13:21:54.547 に答える
1

、という名前のクラスをコンパイルする場合foo.bar.Bazは、Baz.javaファイルをディレクトリに 配置し、の親ディレクトリからfoo/bar起動する必要があります。つまり、現在のディレクトリのコンテンツを一覧表示すると、一覧表示されます。または、コマンドラインスイッチがあります。javacfoofoo-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は、ソースパスにディレクトリツリーが見つからない場合、 「パッケージfoo.barが存在しません」というエラーを出力します。foo/barしたがって、適切なディレクトリに変更するか、-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

CLASSPATHjavacが既存のアーカイブに対してコンパイルできるように調整する必要があります。

于 2012-09-27T13:33:34.810 に答える