IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Ajouter un répertoire src à un projet


Sujet :

Eclipse Platform

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut Ajouter un répertoire src à un projet
    Bonjour,

    J'ai créé un plugin Eclipse qui permet de créer un nouveau projet Java avec des fichiers de configuration par défaut.

    J'ai réussi à créer les packages, ajouter les librairies dans un répertoire lib et au classpath, mais il y a une dernière chose que je n'arrive pas à faire, c'est ajouter le répertoire src que j'ai créé, au classpath.

    j'ai essayé pas mal de choses :
    - classpathEntries.add(JavaCore.newSourceEntry(new Path("src")));
    erreur classpath must be absolute

    - classpathEntries.add(JavaCore.newSourceEntry(new Path("/Test/src")));
    Java Model Exception: Java Model Status [Cannot nest 'Test/src' inside 'Test'. To enable the nesting exclude 'src/' from 'Test']
    Quelqu'un saurait-il m'indiquer comment procéder ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Ton dossier "src/" existe-t-il deja? Il me semble qu'il faut le creer avant: project.getFolder("src").create(...).
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    Citation Envoyé par Mickael_Istria Voir le message
    Ton dossier "src/" existe-t-il deja? Il me semble qu'il faut le creer avant: project.getFolder("src").create(...).
    Déjà fait...

    Je me demande si ce n'est pas parce que j'ai utilisé la derniere version d'Eclipse pour créer le plugin car quand je le teste sur des versions antérieures, ca marche pas.

    Y a pas rétrocompatibilité des versions d'Eclipse ?

  4. #4
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 469
    Points : 2 997
    Points
    2 997
    Par défaut
    Si si, sur les projets matures comme JDT, il y a rétrocompatibilité. De plus, quand il y a un souci de compatibilité tu prends généralement un "Cannot load bundle", "ClassNotFoundException" ou "NoSuchMethodError".
    Ceci dit, tu peux commencer en testant sur une même version d'Eclipse pour t'assurer que ça marche.
    http://help.eclipse.org/indigo/topic....runtime.IPath)

    Essaye peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IClasspathEntry entry = JavaCore.newSourceEntry(project.getFolder("src").getFullPath());
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    Citation Envoyé par Mickael_Istria Voir le message
    Si si, sur les projets matures comme JDT, il y a rétrocompatibilité. De plus, quand il y a un souci de compatibilité tu prends généralement un "Cannot load bundle", "ClassNotFoundException" ou "NoSuchMethodError".
    Ceci dit, tu peux commencer en testant sur une même version d'Eclipse pour t'assurer que ça marche.
    http://help.eclipse.org/indigo/topic....runtime.IPath)

    Essaye peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IClasspathEntry entry = JavaCore.newSourceEntry(project.getFolder("src").getFullPath());
    Salut,

    j'ai testé ça ne marche pas non plus
    j'arrive pas à comprendre pourquoi d'ailleurs

  6. #6
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    Je passe par un IJavaProject, et pour moi ça fonctionne...
    J'ai laissé dans le code la création éventuelle du dossier src
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    IFolder sourceFolder = project.getFolder("src");
    try {
    	//Création src
    	sourceFolder.create(false, true, null);
    	IJavaProject javaProject=JavaCore.create(project);
    	IPackageFragmentRoot srcPfr = javaProject.getPackageFragmentRoot(sourceFolder);
    	IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
    	IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
    	System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
    	//Création nouvelle entrée
    	newEntries[oldEntries.length] = JavaCore.newSourceEntry(srcPfr.getPath());
    	javaProject.setRawClasspath(newEntries, null);
    } catch (CoreException e) {
    	e.printStackTrace();
    }

Discussions similaires

  1. Comment ajouter un répertoire en tant que projet ?
    Par bucheron007 dans le forum Eclipse PHP
    Réponses: 4
    Dernier message: 15/12/2007, 18h35
  2. [Info] ajout de fichier dans des projets eclipse
    Par root76 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/12/2005, 12h48
  3. [JAR]ajouter un répertoire au .jar
    Par menuge dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 13/12/2005, 12h41
  4. Ajouter des nouveaux package à mon projet
    Par mikky dans le forum JBuilder
    Réponses: 3
    Dernier message: 31/03/2005, 07h54
  5. Réponses: 8
    Dernier message: 19/01/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo