web-dev-qa-db-fra.com

Code Visual Studio - Java Le chemin d'accès aux classes est incomplet. Seules les erreurs de syntaxe seront signalées.

Je fais mes premiers pas avec Java, après quelques expériences approfondies avec python. Le script que je lance est un simple Java Swing Gui, qui se compile et s’exécute correctement à partir de la ligne de commande et dans VS Code.

Pour configurer l’environnement Java, j’ai utilisé les paramètres lauch.json proposés sur le site github https://github.com/k--kato/vscode-javadebug .

Malheureusement, chaque fois que j'ouvre le dossier contenant le script, le message d'erreur suivant s'affiche:

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

Je n'ai aucune idée si le problème vient de VS Code, s'il s'agit d'un autre problème de configuration, tel que le Java mis en place ....

Ma plate-forme de travail est Linux Ubuntu, Gnome Shell.

Quelqu'un peut aider?

Voici le 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);
        });
    }
}

et voici mon 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

Je sais que c'est une vieille question, mais quiconque trébuche et a besoin d'une solution rapide et facile peut la trouver ici. Installez l'extension: Eclipse New Java Project.

Il émule le comportement de l'action Eclipse create Java Project et devrait produire les résultats dont vous avez besoin.

Appuyez simplement sur Ctrl + Shift + P et tapez New Java Project (il apparaîtra après quelques lettres) et suivez les instructions simples. (il vous suffit de demander le nom du projet).

Il créera le projet et les fichiers nécessaires et vous n'aurez pas à vous soucier de cette erreur de chemin de classe. Ensuite, créez simplement vos fichiers de classe comme d'habitude dans le dossier src de votre nouveau projet et poursuivez votre programmation!

13
Nobody Important

Cet avertissement s'affiche lorsque vous ouvrez un fichier Java pour lequel l'extension redhat.Java ne peut pas déterminer de chemin d'accès aux classes. Pour obtenir tous les avantages de l'extension, utilisez projet avec maven pom.xml (bientôt disponible également), ou le moins de fichiers de paramètres Eclipse par défaut . classpath . project fichiers.

9
Gorkem Ercan

Étant donné que l'écosystème Microsoft Visual Studio Code évolue rapidement pour Java, il existe une solution pratique qui aide énormément à générer, en quelques étapes à peine, une structure de projet Java) fonctionnelle à utiliser avec VS Code.

Il existe bien sûr d’autres solutions pour travailler avec Java, telles que NetBeans, mais j’ai toujours beaucoup aimé VS Code et j’ai attendu jusqu’à ce qu’il soit plus facile de revenir à l’utiliser.

La solution assez simple que j'ai trouvée utilise MAVEN. Maven crée la structure complète du projet et les fichiers de configuration initiale dans votre dossier personnel. Vous pouvez immédiatement l'ouvrir avec VS Code et l'exécuter sans aucun problème.

Bien sûr, vous devrez avoir les extensions Java installées, comme expliqué ici .

La solution que j'ai trouvée ici sur le net était un peu dépassée, j'ai donc fait quelques adaptations.

C'est le processus sur une machine Linux:

  1. Vérifiez si vous avez installé MAVEN

    • Tapez dans un terminal:

      mvn --version
      
    • Si maven n'est pas installé, la sortie suggérera la commande d'installation.

  2. Invoquez l'archétype maven quickstart pour générer votre nouveau projet.

    • Dans le type ou la copie du terminal:

      mvn archetype:generate
      
    • Cela ouvrira une liste effrayante de plus de 2000 achetypes à choisir. La bonne nouvelle est que si vous ne renseignez pas de numéro, maven-archetype-quickstart sera automatiquement sélectionné. Appuyez simplement sur ENTER.

    • Choisissez une version dans la liste et entrez le numéro: j'ai choisi le nombre suggéré = 6

    • Choisissez une valeur pour property groupId:

      com.mycompany.app  
      
    • Définissez une valeur pour la propriété 'artifactId' (le dossier sera créé dans votre répertoire personnel):

      my-app
      
    • Définir la valeur pour 'version': 1.0

    • Définir la valeur de la propriété 'package':

      com.mycompany.app
      
    • Confirmez les options et le projet sera généré.

  3. Démarrer VS Code avec le nouveau projet

    • Dans le type de terminal:

      code ./my-app 
      
  4. Configurer un fichier Launch.json

    • En haut à gauche du débogueur, à droite du vert, où il est écrit "pas de configuration", choisissez "Java" dans le champ déroulant et le fichier .json sera généré automatiquement.
  5. Configurer un Task.json

    • Aller à la tâche dans la barre de menu;
    • Configurez les tâches ......
    • Créez task.json à partir d'un modèle ....
    • Sélectionnez "maven" dans la liste déroulante et le fichier .json sera généré automatiquement.

Tu es prêt.

7
rainer

en cherchant cela, j'ai trouvé que vscode ne reconnaît actuellement que les projets maven, ou les projets Eclipse, de sorte qu'il nécessite un fichier .classpath. La meilleure option est donc de créer d'abord le projet avec maven, puis de l'ouvrir avec vscode.

3
nightynvid