質問: 初心者です。 さくらレンタルサーバーのスタンダードコースで、javaをもちいてDBから情報を取り出したいのですが、jdkのインストールで詰まっています。 シェルはbashです。 jdk-8u65-linux-x64.tar.gzというファイルを tar zxvf jdk-8u65-linux-x64.tar.gz というコマンドで解凍しその配下のbin内にあるjavaに対してパスを通して java -version としたところ、 ELF binary type "0" not known. --xxx-- cannot execute binary file: Exec format error と返ってきました。(--xxx--の箇所は置き換えています) 実行できていないことはわかるのですが、何が原因でどう対処すればいいのでしょうか。 また、実行できない場合、ほかの方法はないのでしょうか。 ほかにも、入力したpathがテラタームを閉じ、開きなおした際、きえてしまっているのですが、関係しているのでしょうか。 よろしくお願いします。 追記 FreeBSD版JDK入手法がわかりません。 正式なものは手に入らないのでしょうか。 聞くことはマナー違反に当たるのでしょうか。
回答: パスがターミナルソフトウェアを開き直した際に消えてしまうのは `.bashrc` などにパスを追記していないからだと思われます。 ターミナル上で、 ``` $ echo "export PATH=(ここにJDKのパス)" >> .bashrc ``` と追記すればいいです。また、 ``` ELF binary type "0" not known. --xxx-- cannot execute binary file: Exec format error ``` はさくらのレンタルサーバーがLinuxではなくFreeBSDであるために起こっていると考えられます。FreeBSD版のJDKをインストールしてください。 **しかし、これらのことを努力してやっても、さくらのレンタルサーバーでJavaを動かすことは現実的ではないです**。 というのも、さくらのレンタルサーバーではCGIしか動かすことができないのですが、JavaでCGIを書くことは簡単ではないからです。 もしどうしてもJavaで開発したいのであれば、さくらのVPSなどのVPSを利用することをおすすめします。 あるいは、さくらのレンタルサーバーでPHPを使ってみてもいいかもしれません。