LoginSignup
11
12

More than 5 years have passed since last update.

Bash on Windows でJavaコマンドを使いたい

Last updated at Posted at 2016-08-08

"Windows Subsystem for Linux"でジャバジャバしたくて頑張った話

まずはapt-getでインストールしてみる

$ sudo apt-get install openjdk-7-jre-headless
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 openjdk-7-jre-headless : 依存: ca-certificates-java しかし、インストールすることができません
                          依存: java-common (>= 0.28) しかし、インストールすることができません
                          依存: libjpeg8 (>= 8c) しかし、インストールすることができません
                          依存: libfontconfig1 (>= 2.9.0) しかし、インストールされようとしていません
                          依存: libpcsclite1 (>= 1.3.0) しかし、インストールすることができません
                          依存: libpulse0 (>= 1:0.99.1) しかし、インストールされようとしていません
                          依存: libsctp1 (>= 1.0.10+dfsg) しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

(´・ω・`)ちーん

Windowsにインストールしたjava.exeを実行してみる

$ /mnt/c/Program\ Files/Java/jdk1.8.0_51/bin/java.exe -version
-bash: ./java.exe: cannot execute binary file: 実行形式エラー

\(^o^)/

ソースからビルドしてみる

じゅくちょーさんの記事を参考にやろうとしたら、そもそもbootにjdkが必要な模様。。。

Oracle JDKをインストールしてみる

@TsutomuNakamuraさんの記事を参考に。

$ add-apt-repository ppa:webupd8team/java -y
$ apt-get update
$ apt-get install oracle-java7-installer

何回かライセンスの同意を求められる。
終わったら試してみる。

$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

できたやんけ!
なおJava 8は動きませんでした。

余談

なんでBash on WindowsでJavaコマンド使いたいかって?特に意味はないよ!

参考

http://tech.furyu.jp/blog/?p=4647
http://qiita.com/TsutomuNakamura/items/f12fdf0a8502e634584d

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12