質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

1回答

4394閲覧

コマンドプロンプトとEclipseのターミナルでJavaのバージョンが異なるため統一したい

PePePeT_i_C

総合スコア31

JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2022/06/08 03:02

編集2022/06/09 03:00

前提

バージョン情報

項目名バージョン
OSWindows10 Pro
Java(cmd)1.7.0_80
Javac(cmd)1.7.0_80
EclipsePreiades 2022-06 Ultimate
コンパイル準拠レベル1.5
ant1.8
Java(Eclipse)11.0.15 ← 1.7にしたい
Javac(Eclipse)11.0.15 ← 1.7にしたい

実現したいこと Java ver1.7でのEclipseによるコンパイル

ある案件でEclipseをインストールしたところ、Eclipseでコンパイルするときにだけコンパイルエラーが発生してします。

  • パッケージエクスプローラとエディタ上ではコンパイルエラーが発生していません。

おそらくこちらが想定しているコンパイラとEclipseが使用するコンパイラでバージョンが異なることが原因と思われるのですが、対応方法がわからない状況です。
イメージ説明

最終的には、Java ver1.7.0_80 を使用してEclipseでコンパイルしたいです。

  • Eclipse Indigoまで下げれば、コンパイルできることはわかっています。
  • eclipse.ini のバージョンに依存していることがわかりましたが、11→7に下げるとEclipseが起動しなくなった。

原因(推定)

URLのリンク先と同じ事象であることを特定しました。
eclipseがコンパイルで使用しているJavaのバージョンが、案件のプロジェクトのバージョンで対応しきれていないよう。
eclipse の 準拠レベルを1.5→1.7 に上げるわけにはいかない(ant build.xmlが1.5のため) ので、eclipseの設定でどうにかしたい。。。

cmd

1javac -source 5 -target 5 Sample.java 2警告:[options] ブートストラップ・クラスパスが-source 5と一緒に設定されていません 3エラー: ソース・オプション5は現在サポートされていません。6以降を使用してください。 4エラー: ターゲット・オプション1.5は現在サポートされていません。1.6以降を使用してください。

https://gist.github.com/suzukitadashi/5173abb841d49517bc590a8d702cc5da

確認したこと

  • JAVA_HOMEが Java ver1.7.0_80 に向いているか?
  • Eclipseの実行構成 > JRE が Java ver1.7.0_80 になっているか?
  • 設定 > Java > コンパイラ準拠レベルは適切か?
  • Javaのビルドパスに使用するライブラリなどは1.7になっているか?

発生している問題・エラーメッセージ

到達不可なcatchでエラーが出ていますが、Indigo では問題ないです。

  • せめて警告にしたい。。。
例外**** は対応するtry文の本体ではスローされません

補足情報(FW/ツールのバージョンなど)

下記を改善すべきなのはわかっていますが、技術的負債が多いプロジェクトのため、どうしようもないので、コンパイラのバージョンを下げることで対応したいです。。。

  • 到達不可なcatchでエラーをそのままにするな
  • Javaのバージョンを上げるべき

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PePePeT_i_C

2022/06/09 02:58

一時的な策として、build.xmlと同階層でコマンドプロンプトからビルドすればwarを出力できた。 eclipseからしたい。 ```cmd # 必要に応じてオプションを追加する ant ```
guest

回答1

0

Eclipseには、JDKやJREを追加する機能があるので、それを利用されるとよいかと思います。以下は参考URLです。

https://itsakura.com/eclipse_jre

投稿2022/06/08 06:54

neko_the_shadow

総合スコア2345

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PePePeT_i_C

2022/06/09 01:13

頂いたリンクを確認したところ、インストール済のJREはv1.7で指定されていました。 依然として解決策がわからない状況です。
neko_the_shadow

2022/06/09 04:15

>Eclipseでコンパイルするときにだけコンパイルエラーが発生してします。 Eclipseは原則自動でコンパイルを行うので、パッケージエクスプローラやエディタでコンパイルエラーにならないということは、コンパイル自体は通っているように見えます。 >パッケージエクスプローラとエディタ上ではコンパイルエラーが発生していません。 具体的にどのようなことをすると、コンパイルエラーになりますか?
PePePeT_i_C

2022/06/09 06:07 編集

> Eclipseは原則自動でコンパイルを行う たしかにそうですね。。。気が付きませんでした。 > 具体的にどのようなことをすると 投稿のほうではややこしいので省略してしまいましたが、ant の build.xml でプロジェクトをビルドしてます。 このビルドをする際に xml の javac タグでランタイムエラーが出ていて、ant が コンパイルエラーを検知してる状況です。 このプロジェクトのややこしいところなのですが、Java周辺のバージョンがチグハグになっています。。。 (おそらくjdkを 1.5→1.7に上げた時にコンパイルエラーが大量発生したため、準拠レベルは1.5のまま。。。) - コンパイラ準拠レベル : 1.5 - build.xml target : 1.5 - jdk : 1.7 現在新しいeclipseを使う必要があるため調査しているのですが、 新しいeclipseはJava10で動いているようなので、build.xml target : 1.5 で引っかかっているようです。。。 なんとかant buildするコンパイラをJava8に指定できればと思っています。 (すごく無茶な願望を言っている認識はあります。)
PePePeT_i_C

2022/06/10 02:08

> Eclipse付属のAntが参照するJREをJava10からJava7に変更したいということですかね? ありがとうございます。 こちら確認&設定適用したところ、ant buildで Java Virtual Machine Launcherより「A Java Exception has occuered」のダイアログが出ました。 おそらく新しめのEclipseではなんともならないような感じがするので、Eclipse上からビルドすることはあきらめるようにします。 ご対応いただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問