2016-11-30 7 views
0

J'utilise Xtext pour créer un Dsl. Dans mon cours d'interprète, j'ai besoin d'utiliser des classes d'un autre projet. Here is my projectXtext, importez un autre projet dans le projet MyDsl

Mon projet actuel est org.xtext.example.mydsl et je dois utiliser des classes du projet jDLMS
Je l'utilise dans cette ligne:

import com.sagemcom.test.LoadProfile 
class MyDslInterepeter { 
val Jtest = new LoadProfile() 

J'ai d'abord essayé d'ajouter le projet dans le chemin de la construction. quand j'ai lancé le projet mydsl, ça fonctionne. Mais dans la deuxième instance d'éclipse lors de l'exécution du fichier avec l'extension .mydsl, il échoue avec l'exception "java.lang.NoClassDefFoundError: com/sagemcom/test/LoadProfile".
J'ai également essayé d'exporter le projet dans un fichier jar et de l'ajouter dans le chemin de compilation -> bibliothèques. Il échoue également avec la même exception

Répondre

0

j'ai trouvé une solution ici enter link description here

  1. copier dans un nouveau dossier lib dans le plugin
  2. adapter le manifeste et ajouter les pots sous forme d'entrées (onglet d'exécution, section classpath)
  3. add les jars à inclure dans build.properties
0

jDLMS devrait être déployé comme un plugin eclipse dans la deuxième instance et votre plugin (org.xtext.example.mydsl) devrait avoir une dépendance à celui-ci. Est-ce vrai?

+0

mon plugin 'org.xtext.example.mydsl' devrait avoir accès à jDLMS, oui à droite. jDLMS ne doit pas nécessairement être déployé en tant que plugin eclipse, cela dépend de la solution. –

+0

JDLMS est-il un projet de plugin eclipse? Sinon, vous devriez le faire et ajouter en tant que dépendance 'org.xtext.example.mydsl' via le fichier manifeste. –