アプリ版:「スタンプのみでお礼する」機能のリリースについて

「HELLO WORLD!」を出力するjava言語をデバックすると、「main メソッドを持つクラスが見つかりません」というエラーが発生いたします。以下の通りに記述していますが、何が間違っているかわからず困っております。何が誤っているか教えていただけると助かります。
--------------------------------------------------------
public class Ren {
public static void main(String[] args){
System.out.println("HELLO WORLD!");
}
}

A 回答 (5件)

「直接パス」?



私単純に
Ren
と指定してます。
#packageを使ってない場合。
    • good
    • 0

No.4の「お礼」のlaunch.jsonは


VSCODEで開いているアクティブなファイルからの実行
だと思います。名称も「現在のファイルを起動」となってるし。

mainClassにクラス名をそのまま入力すれば F5 で動きますよ。
    • good
    • 0
この回答へのお礼

追加の回答ありがとうございます。
mainClassに直接パス指定してみましたがうまくいきませんでした。コマンド指定と一緒にしてもうまくいかないため、理由がつかめない状況です。クラス名の入力の意図を誤っていたらすみません。

お礼日時:2021/11/03 19:21

vscodeだったら、フォルダの中に作ったファイルが


唯一これだけだったら自動認識するけどな・・・

今やって見たけど、メインクラスの
ファイル開いて run java するだけだった。

いずれにしても、正しいlaunch.json 作って
mainClass 指定する正規のやり方に
設定を整え、F5(実行)で実行すべき。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。launch.jsonのmainClassの指定は "${file}"でした。これではうまくいかず、調べた他の指定をしてもうまくいかない状況です。launch.jsonの設定で気になる点ございますでしょうか。
-----------------------------------------------------------------------
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch Current File",
"request": "launch",
"mainClass": "${file}"
/* "mainClass": "${workspaceFolder}" */
/* "mainClass": "${workspaceFolderBasename}" */
/* "mainClass": "$${cwd}" */
/* "mainClass": "${fileBasename}" */
}
]
}

お礼日時:2021/11/03 16:39

1. プログラムを書いたファイル名を"Ren.java"にする。


2. コンパイル方法は端末で

javac Ren.java

と打つ。
3. 実行は同じく端末で

java Ren

と打つ。

多分1番最初のファイル名が間違ってんじゃないかな?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。ファイル名"Ren.java"にしておりました。教えていただいたコマンドで実行すると、"HELLO WORLD"が表示されたので、開発ツールの「visual studio code」でデバッグするとエラーが発生しますので、ツール設定の問題のようです。

お礼日時:2021/11/03 12:55

特に誤りはないものと思われます。


開発ツールの設定などに問題はありませんか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。1人目の方の回答に記載しましたが、コマンドで実行すると”HELLO WORLD!"が表示されましたので、おっしゃる通り開発ツールの設定のようです。開発ツールのエラーをさらに調べると以下のような情報を見つけました。「visual studio code」でワークスペースを設定していないのが原因かと思い、確認しております。

-------------------------------------------------- ---
main メソッドを持つクラスが見つかりません
理由:
launch.jsonで構成を解除すると、デバッガーは main メソッドを使用してクラスを自動的に解決します。このエラーは、デバッガーがワークスペース全体でメイン クラスを見つけないことを示します。mainClass

試みる:
ワークスペースに少なくとも 1 つのメイン クラスが存在するかどうかを確認してください。
主クラスが存在しない場合は、まずメインクラスを作成してください。それ以外の場合は、言語サーバーが起動に失敗したためと考えられます。詳細なトラブルシューティング情報については、言語サーバーのトラブルシューティングの段落を参照してください。

お礼日時:2021/11/03 12:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!