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

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

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

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

Q&A

解決済

2回答

3818閲覧

一年ぶりにVScodeでjavaを実行しようとしたら実行できない

grape_ll

総合スコア83

Java

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

0グッド

1クリップ

投稿2021/04/30 11:15

###質問内容
タイトルの通り,久しぶりにjavaを用いてコードを書いて実行しようとしたところ,コンパイルは出来たのですが,実行のときにエラーをはかれてしまって実行できません.エラーメッセージを読んだところ,バージョンの違いのようなものが原因でエラーが発生しているのかなと思ったのですが,どのように対処していいのか分からないので,その方法をお教え願いたいです.
下記に,コードの中身とエラーメッセージを記載します.

###コード

java

1import java.net.*; 2public class WhoAmI { 3 public static void main(String[] args) throws Exception{ 4 if(args.length != 1){ 5 System.err.println("Usage: WhoAmI MachineName"); 6 System.exit(1); 7 } 8 InetAddress addr = InetAddress.getByName(args[0]); 9 System.out.println(addr); 10 } 11 12} 13

###エラー内容
javac WhoAmI.java
java WhoAmI DESKTOP-NULUSO6
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: WhoAmI has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

###バージョン
java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) Client VM (build 25.171-b11, mixed mode)
PS C:\Users\rokok\pro\proJava\multi>

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

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

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

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

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

guest

回答2

0

自己解決

https://qiita.com/takuma-jpn/items/b49785a314fb4db85775
このサイトを参照して再構築したら使えるようになりました.

投稿2021/05/03 01:12

grape_ll

総合スコア83

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

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

0

Javaランタイム(実行するほう)が古いです。

https://www.ne.jp/asahi/hishidama/home/tech/java/version.html#h_class_version

コンパイルはどうやって実行したんでしょうか?それと同梱している java コマンドを使えば良いと思うのですが。

投稿2021/04/30 11:23

mather

総合スコア6753

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

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

grape_ll

2021/04/30 11:50

javaランタイムはどのようにしてアップデートすればよろしいでしょうか 載せてくださっているサイトは有料制のようなのでできれば使いたくはありません,申し訳ございません. コンパイル等は載せている javac WhoAmI.java java WhoAmI DESKTOP-NULUSO6 で行いました. 同梱しているjavaコマンドとは何でしょうか.
satokei

2021/04/30 15:17

> 同梱しているjavaコマンドとは何でしょうか. javac コマンドと一緒に同梱されているはずの java コマンドという意味かと。
mather

2021/04/30 16:46

コンパイルしている端末と実行している端末が違ったりしますか…? そうでなければ、 satokei さんの仰るように、 javac と同じディレクトリにコンパイラーと同じバージョンの java があると思うのですが…。 > 載せてくださっているサイトは有料制のようなので どのへんが有料でしょうか…?OracleのJava有償サポートの話でしょうか? このページはただのJavaクラスバージョンに関する情報です。
grape_ll

2021/05/01 11:23

>javac コマンドと一緒に同梱されているはずの java コマンドという意味かと。 そのようなことを言っているのは文脈から分かるのですが,実際にどのようなものかが分からないということです.説明が不足してしまってしまい申し訳ございません. >コンパイルしている端末と実行している端末が違ったりしますか…? そうでなければ、 satokei さんの仰るように、 javac と同じディレクトリにコンパイラーと同じバージョンの java があると思うのですが…。 コンパイルしているものと実行している端末は同じだと思います.おなじvccodeのウインドウで行っていれば自然にそうなりますよね?知識が乏しいため断定できていなくて申し訳ございません. >どのへんが有料でしょうか…?OracleのJava有償サポートの話でしょうか? このページはただのJavaクラスバージョンに関する情報です。 そのサイトよりも上に表示されている広告のところを見ていました.完全に私の注意不足です.
mather

2021/05/01 13:06

which というコマンドで実際に実行されるファイルを確認することができます。 $ which javac $ which java 両方のコマンドを実行した結果はどうなりますか?
grape_ll

2021/05/02 01:03

which javac which : 用語 'which' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識され ません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行 してください。 発生場所 行:1 文字:1 + which javac + ~~~~~ + CategoryInfo : ObjectNotFound: (which:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException which java which : 用語 'which' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識され ません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行 してください。 発生場所 行:1 文字:1 + which java + ~~~~~ + CategoryInfo : ObjectNotFound: (which:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException となってしまっていて,whichが認識されていないようです.
grape_ll

2021/05/02 01:06

違うフォルダでjavaファイルを生成してみたら The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted. と右下に表示されたのですが,これははにか関係ありますでしょうか. サーバーがクラッシュしていると書いてあり,よくなさそうとは思いますが.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問