2016-11-21 3 views
1

まず、デフォルト値を使用してxtextプロジェクトを作成しました(例として提供されているシンプルなGreetings文法)。Eclipseでxtextプロジェクトにライブラリを追加できません(エラーが返されます)

次に、いくつかのコード(下記参照)を含む.javaファイルを作成し、それを検証フォルダに追加しました。

通常のJavaプロジェクトと同じようにビルドパスにいくつかのjarファイルをロードしました。スタンドアロンとして特定のJavaファイルを実行すると、ライブラリをロードしてコードを実行します。 javaファイルは非常に簡単です。しかし

import org.semanticweb.owlapi.apibinding.OWLManager; 
import org.semanticweb.owlapi.model.OWLOntologyCreationException; 
import org.semanticweb.owlapi.model.OWLOntologyManager; 
import org.xtext.example.mydsl.myDsl.Greeting; 

public static void main(String[] args){ 
    Greeting hey = null; 
    try { 
     test(hey); 
    } catch (OWLOntologyCreationException e) { 
     e.printStackTrace(); 
    } 
} 

public static void test(Greeting imp) throws OWLOntologyCreationException { 
    OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
    System.out.println("success!");  
} 

、.xtendバリデータファイルから「テスト」機能を呼び出す場合、それはこのエラーを生成します。

java.lang.NoClassDefFoundError: org/semanticweb/owlapi/model/OWLOntologyCreationException 
at org.xtext.example.mydsl.validation.MyDslValidator.checkGreetingStartsWithCapital(MyDslValidator.java:24) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
/* (has some more "at" in the middle) */ 
Caused by: java.lang.ClassNotFoundException: org.semanticweb.owlapi.model.OWLOntologyCreationException cannot be found by org.xtext.example.mydsl_1.0.0.qualifier 
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) 
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) 
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) 
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 32 more 

それは「することはできません言及した場合にはfound by org.xtext.example.mydsl_1.0.0.qualifier "問題がマニフェストにあると仮定しましたが、できる限りあらゆる方法でマニフェストにライブラリを追加しようとしましたが、無駄です。

答えて

0

あなたがビルドパスにLIBSを追加する場合

  1. がマニフェストを適応し、エントリ(ランタイムタブ、クラスパスセクション)
  2. アドオンとしてjarファイルを追加したプラグイン
  3. の内側に新しいlibフォルダにコピーしますbuild.propertiesに含まれるjarファイル(警告とクイックフィックスが必要です)
+0

初めて失敗した場所はわかりませんが、build.propertiesに含まれていることを誓うことができます。それはパズルの欠けている部分でした!ありがとう –

関連する問題