2012-01-09 18 views
3

私は週末にいくつかの異なるJavaコンパイラを試していて、今朝javacを使うことに決めました。私はその後、私のテストによって引き起こされた混乱を取り除き、autoremoveとautocleanの後にfresh apt-get install openjdk-6-jdkを実行しました。Javacがopenjdk-6-jdkと一緒にインストールされていない

は、次のすごみは、その後発生しました:

[email protected]:~$ 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のをインストールしていたが、私はそれがとにかく降伏しようとした:私は私が愚かな何かをしなければなりません知っているが、私は考えている

[email protected]:~$ 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. 
[email protected]:~$ 

他の誰かが正しい方向にポインタを与えることができれば、それは非常に高く評価されるでしょう...

乾杯

EDIT:私のJavaディストリビューションの '新しい'インスタンスに関するいくつかの奇妙な側面が見つかりました。正規表現のインポートから来るはずの 'Pattern'や 'Matcher'を認識していないようです。shrugs

+3

私はそれがあなたのPATHに存在しますがないと思います。 –

+0

私は今、恥で隅に隠れて行くだろう....しかし、それを処理するべきではないでしょうか?なぜjava.util.regexパッケージを認識しないのでしょうか? –

+0

IDEで何が表示されますか? –

答えて

3

チェック/etc/alternatives/usr/bin はたぶん、あなたも実行する必要があります。一方または両方には、インストールした古いJavaバージョンへのリンクが含まれます。これらのリンクが壊れていると、上記のエラーメッセージが表示されます。私はFedoraの上で同様の問題があった

のjava-1.6.0-OpenJDKの-develのインストールが、使用:DRを、

は、Javaの新しいバージョンをインストールした後、 update-alternatives

+0

FSは本当に新しいリンクを作っていませんでした。私の輸入が失敗している理由を知りたいですか? –

+0

@Bas:Javaのバージョン、インポートステートメント、エラーメッセージ、クラスパス上で異常なもの([Jakarta oro](http://jakarta.apache.org/oro/)など)で新しい質問を開きます。 –

+0

午前中は、馬鹿馬鹿しい質問でこの掲示板を「迷惑メール」したくないので、私が何らかの形でエピファニーを持っていない限り、それをやります。 –

2

のjavacは、そのファイルを検索してみてくださいインストールされているかどうかを確認するには、まず: 1.探しのjavac 2.または-nameのjavac/

を見つけても、あなたがインストールする方法についてinstrucionsで、このウェブサイトで確認することができますがUbuntuの上のJava(私はあなたがUbuntuの上にあると仮定):可能パッケージによってインストールされたファイルの http://packages.ubuntu.com/hardy/i386/openjdk-6-jdk/filelistを、そしてあなたは、javacのをインストールする必要があることに気づくことができます。

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

あなたもチェックすることができます。 ターミナルを開き、Ubuntuのoneiricの上でのOpenJDK 7.0をインストールするには、このコマンドを実行します:

sudoのアップデート-代替--config javaの

+0

これは/ usr/lib/jvm/java-6-openjdk/bin/javacにインストールされていますが、何らかの理由でインストールが/ usr/binにシンボリックリンクを作成していないと思います。それは私のシステムを「クリーン」にする前にリンクがあった場所です。 –

+0

最新の更新情報を確認してください。 – Ivan

+0

openjdkのインストールディレクトリを含むようにパスを手動で変更してしまいました。少なくともjavacがどこからでもアクセスできるようになりました。他のバグを特定のパッケージをインポートできない場所でソートする必要があります。 –

9

TLを試してみてくださいリンクを更新するにはrpm -q -l(pre-installed)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自体を使用しないパッケージの開発に使用されます)。 )。

$ sudo apt-get install openjdk-6-jre 

をフルJDKをインストールするには:唯一のOpenJDKの-6 JREをインストールするにはhttp://openjdk.java.net/install/を1として

7

$ sudo apt-get install openjdk-6-jdk 
関連する問題