Код Visual Studio - путь Java Classpath является неполным. Будут сообщены только синтаксические ошибки

Я делаю первые шаги с java, после нескольких обширных опытов с python. script Я запускаю простой Java Swing Gui, который компилируется и работает отлично из командной строки и в VS Code.

Чтобы настроить среду отладки java, я использовал настройки lauch.json, предложенные на сайте github https://github.com/k--kato/vscode-javadebug.

К сожалению, каждый раз, когда я открываю папку, содержащую script, появляется следующее сообщение об ошибке:

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

Я понятия не имею, возникает ли проблема из VS-кода, если это какая-то другая проблема с конфигурацией, например, настройка java....

Моя рабочая платформа - Linux Ubuntu, Gnome Shell.

Может ли кто-нибудь помочь?

Это script:

//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
        }
    ]
}

Ответ 1

Это предупреждение отображается при открытии java файла, который расширение redhat.java не может определить путь к классам. Чтобы получить полные преимущества расширения, используйте либо проект с maven pom.xml(вскоре также gradle), либо минимальные файлы настроек eclipse по умолчанию, а также файлы .classpath.project.

Ответ 2

Я знаю, что это старый вопрос, но любой, кто спотыкается здесь и нуждается в быстром и простом решении, может найти его здесь. Установите расширение: Eclipse New Java Project.

Он эмулирует поведение действия Eclipse при создании Java Project и должен давать нужные вам результаты.

Просто нажмите Ctrl + Shift + P и введите New Java Project (он появится после нескольких букв) и следуйте простым инструкциям. (он просто запрашивает название проекта).

Он создаст необходимый проект и файлы, и вам не придется беспокоиться об этой ошибке classpath. Затем просто создайте файлы классов как обычно в папке src вашего нового проекта и приступайте к программированию!

Ответ 3

Поскольку экосистема кода Microsoft Visual Studio стремительно развивается для Java, существует удобное решение, которое чрезвычайно помогает создать - всего за несколько шагов - работающую структуру проекта Java для использования с VS Code.

Конечно, есть и другие решения для работы с Java, такие как NetBeans, но мне всегда очень нравился VS Code, и я просто ждал, когда придет что-нибудь более простое, чтобы вернуться к его использованию.

Довольно простое решение, которое я нашел, это использование MAVEN. Maven создает всю структуру проекта и исходные файлы конфигурации в вашей домашней папке, и вы можете сразу же открыть его с помощью VS Code и запустить его без каких-либо хлопот.

Конечно, вам нужно будет установить расширения Java, как описано здесь.

Решение, которое я нашел здесь в сети, было немного устаревшим, поэтому я сделал некоторые изменения.

Это процесс на компьютере с Linux:

  1. Проверьте, установлен ли у вас MAVEN

    • Введите в терминал:

      mvn --version
      
    • Если maven не установлен, в выводе будет предложена команда установки;

  2. Вызвать архетип быстрого запуска maven для создания вашего нового проекта;

    • Внутри терминала введите или скопируйте:

      mvn archetype:generate
      
    • Это откроет страшный список из более чем 2000 типов на выбор. Хорошей новостью является то, что если вы не введете число, автоматически будет выбран maven-archetype-quickstart, поэтому просто нажмите ENTER.

    • Выберите версию из списка и введите номер: я выбрал предложенное число = 6

    • Выберите значение для свойства groupId:

      com.mycompany.app  
      
    • Определите значение для свойства 'artifactId' (это создаст папку в вашем домашнем каталоге):

      my-app
      
    • Определите значение для 'version': 1.0

    • Определите значение для свойства 'package':

      com.mycompany.app
      
    • Подтвердите параметры и проект будет создан.

  3. Запустите VS Code с новым проектом

    • В терминале введите:

      code ./my-app 
      
  4. Настройте файл Launch.json

    • В верхнем левом углу отладчика, справа от зеленого цвета, где написано "нет конфигурации", выберите "Java" из выпадающего поля, и файл .json будет создан автоматически.
  5. Настройте Task.json

    • Перейти к Задаче в строке меню;
    • Настроить задачи......
    • Создать task.json из шаблона....
    • Выберите "maven" из выпадающего списка, и файл .json будет создан автоматически.

Тебе хорошо идти.

Ответ 4

В поисках этого я обнаружил, что vscode прямо сейчас распознает только проекты maven или проекты eclipse, поэтому ему нужен файл .classpath. Поэтому лучшим вариантом является создание проекта с maven сначала, а затем открытие с помощью vscode.

Ответ 5

Обходной путь для повседневной работы сложен. Я закончил с Intellij CE