3

私は週末にいくつかの異なる Java コンパイラを試してきましたが、今朝は javac を使い続けることにしました。次に、テストによって引き起こされた混乱をクリーンアップし、Java の最後のトレースをすべて削除し、autoremove と autoclean の後に新しい「apt-get install openjdk-6-jdk」を実行しました。

その後、次の奇妙なことに遭遇しました。

tarskin@5-PARA-11-0120:~$ javac
The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.6-jdk
 * gcj-4.5-jdk
 * openjdk-7-jdk
Try: sudo apt-get install <selected package>

私はすでにopenjdkをインストールしていましたが、とにかく試してみました:

tarskin@5-PARA-11-0120:~$ sudo apt-get install openjdk-6-jdk
[sudo] password for tarskin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openjdk-6-jdk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tarskin@5-PARA-11-0120:~$ 

私は愚かなことをしているに違いないことは知っていますが、他の誰かが正しい方向へのポインタを与えることができれば、非常に感謝しています...

乾杯

編集: 私の Java ディストリビューションの「新しい」インスタンスに関するいくつかの奇妙な側面が見つかりました。たとえば、正規表現インポートshrugsから来るはずの「パターン」または「マッチャー」を認識していないようです。

4

4 に答える 4

9

TL;DR: java-1.6.0-openjdk-devel をインストールしてください

Fedora でも同様の問題がありましたが、rpm -q -l を使用して (プリインストールされた) java-1.6.0-openjdk パッケージの内容を一覧表示したところ、javac が含まれていないことがわかりました。http://openjdk.java.net/install/のインストール手順で暗示されているように、実際にはJDKではなくJREにすぎません。javac を取得するために、 java-1.6.0-openjdk-devel をインストールしました。通常のパッケージング規則では、openjdk 開発 (つまり、JVM での作業) を行うためのパッケージであり、それを使用したプログラムを開発するためのパッケージではないことが示されるため、私が期待したとおりではありませんでした。

基本的に、openjdk のパッケージの命名は、標準の Java 規則 (どこかで JRE と呼ぶ必要があります) にも、標準の Linux パッケージング規則にも従いません (-devel を使用すると、-devel 自体を使用せずにパッケージを開発するために使用されることを示します)。

于 2013-02-26T11:56:39.563 に答える
3

チェック/etc/alternativesして/usr/bin。一方または両方に、インストールした古いJavaバージョンへのリンクが含まれます。これらのリンクが壊れていると、上記のエラーメッセージが表示される場合があります。

新しいバージョンのJavaをインストールした後にリンクを更新するには、update-alternatives

于 2012-01-09T15:06:06.193 に答える
2

最初に javac がインストールされているかどうかを確認するために、そのファイルを探してみます。 1. javac を見つけます 2. / -name javac を見つけます

また、UbuntuにJavaをインストールする方法については、このWebサイトで確認できます(ubuntuを使用していると思います):

http://openjdk.java.net/install/

また、パッケージによってインストールされたファイルについてhttp://packages.ubuntu.com/hardy/i386/openjdk-6-jdk/filelistを確認する と、javac をインストールする必要があることがわかります。ターミナルを開いて次のコマンドを実行し、OpenJDK 7.0 を Ubuntu Oneiric にインストールします。

sudo update-alternatives --config java

于 2012-01-09T15:02:41.693 に答える