web-dev-qa-db-ja.com

Visual Studio Code-Javaクラスパスは不完全です。構文エラーのみが報告されます

Pythonでの広範な経験の後、Javaで最初の一歩を踏み出しました。私が実行しているスクリプトは、単純なJava Swing Guiです。これは、コマンドラインから、VSコード内で正常にコンパイルおよび実行されます。

Javaデバッグ環境をセットアップするために、githubサイトで提案されているlauch.json設定を使用しました https://github.com/k--kato/vscode-javadebug

残念ながら、スクリプトを含むフォルダーを開くたびに、次のエラーメッセージが表示されます。

Warn: Classpath is incomplete. Only syntax errors will be reported.

Java setup ....など、他の構成の問題であるかどうか、問題がVS Code内から発生したかどうかはわかりません。

私の作業プラットフォームは、Linux Ubuntu、Gnome Shellです。

誰でも助けることができますか?

これはスクリプトです:

//file name = SimpleEx.Java 

import Java.awt.EventQueue;
import javax.swing.JFrame;

public class SimpleEx extends JFrame {

    public SimpleEx() {

        initUI();
    }

    private void initUI() {

        setTitle("Simple example");
        setSize(300, 200);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {

        EventQueue.invokeLater(() -> {
            SimpleEx ex = new SimpleEx();
            ex.setVisible(true);
        });
    }
}

これは私のlaunch.jsonです:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Java",
            "type": "Java",
            "request": "launch",
            "stopOnEntry": true,
            "cwd": "${fileDirname}",
            "startupClass": "${fileBasename}",
            "options": [
                "-classpath",
                "${fileDirname}"
            ]
        },
        {
            "name": "Java Console App",
            "type": "Java",
            "request": "launch",
            "stopOnEntry": true,
            "cwd": "${fileDirname}",
            "startupClass": "${fileBasename}",
            "options": [
                 "-classpath",
                 "${fileDirname}"
            ],
            "externalConsole": true
        }
    ]
}
19
rainer

これは古い質問ですが、ここでつまずき、すばやく簡単な修正が必要な人はここで見つけることができます。拡張機能をインストールします:Eclipse New Java Project

Eclipseアクションの動作をエミュレートしますcreate Java Project必要な結果を生成します。

Ctrl + Shift + Pを押し、New Java Project(数文字でポップアップします))と入力し、簡単な指示に従います(プロジェクトの名前を尋ねるだけです)。

必要なプロジェクトとファイルが作成され、クラスパスエラーについて心配する必要はありません。次に、新しいプロジェクトのsrcフォルダーに通常どおりクラスファイルを作成し、プログラミングを続行します。

13

この警告は、 redhat.Java 拡張機能がクラスパスを決定できないJavaファイルを開くと表示されます。拡張機能を最大限に活用するには、 maven pom.xml(まもなくgradle)を使用するプロジェクト、または最小のデフォルトEclipse設定ファイルaka。classpath。project ファイル。

9
Gorkem Ercan

Microsoft Visual Studio CodeエコシステムはJava向けに急速に進化しているため、VS Codeで使用する機能するJavaプロジェクト構造を-ほんの数ステップで生成するのに非常に役立つ便利なソリューションがあります。

もちろん、Javaで動作する他のソリューション(NetBeansなど)もありますが、私はVS Codeが大好きで、もっと簡単なものが使用可能になるまで待ちました。

私が見つけた非常に簡単な解決策は、MAVENを使用することです。 Mavenはホームフォルダーにプロジェクト構造全体と初期構成ファイルを作成し、VS Codeですぐに開いて、手間をかけずに実行できます。

もちろん、 here で説明したように、Java拡張機能をインストールする必要があります。

私が見つけた解決策 ここ はネット上で少し時代遅れだったので、私はいくつかの適応を行いました。

これは、Linuxマシンでのプロセスです。

  1. MAVENがインストールされているかどうかを確認してください

    • ターミナルに入力します。

      mvn --version
      
    • Mavenがインストールされていない場合、出力にはインストールコマンドが示されます。

  2. Mavenクイックスタートアーキタイプを呼び出して、新しいプロジェクトを生成します。

    • 端末タイプまたはコピー内:

      mvn archetype:generate
      
    • これにより、選択可能な2000以上のachetypeの恐ろしいリストが開きます。良いニュースは、数値を入力しない場合、maven-archetype-quickstartが自動的に選択されるため、Enterキーを押すだけです。

    • リストからバージョンを選択し、番号を入力します。提案された番号= 6を選択しました

    • プロパティgroupIdの値を選択します。

      com.mycompany.app  
      
    • プロパティ 'artifactId'の値を定義します(これにより、ホームディレクトリにフォルダーが作成されます)。

      my-app
      
    • 「バージョン」の値を定義:1.0

    • プロパティ 'package'の値を定義します。

      com.mycompany.app
      
    • オプションを確認すると、プロジェクトが生成されます。

  3. 新しいプロジェクトでVS Codeを開始します

    • ターミナルタイプで:

      code ./my-app 
      
  4. Launch.jsonファイルを構成する

    • デバッガーの左上の緑の右側にある「構成なし」と表示されているドロップダウンフィールドから「Java」を選択すると、.jsonファイルが自動生成されます。
  5. Task.jsonを構成する

    • メニューバーの[タスク]に移動します。
    • タスクの構成......
    • テンプレートからtask.jsonを作成....
    • ドロップダウンリストから[maven]を選択すると、.jsonファイルが自動生成されます。

準備できた。

7
rainer

これを検索すると、vscodeはmavenプロジェクトまたはEclipseプロジェクトのみを認識するため、.classpathファイルが必要であることがわかりました。したがって、最良のオプションは、最初にMavenでプロジェクトを作成し、次にvscodeで開くことです。

3
nightynvid