2011-11-23 98 views
1

嘗試在Ant Builder中使用AcceleoCompiler。當我用Ant構建我得到以下錯誤:Ant Builder構建失敗eINSTANCE

compile: 
[acceleoCompiler] eINSTANCE 

BUILD FAILED 
C:\Users\random\workspace\foo\bar\Framework\buildstandalone.xml:52: eINSTANCE 

下面是我有我的目標定義,這可能是重要的一些其他信息。我對螞蟻和加速技術很陌生。讓我知道你是否還有其他需要的信息。我不確定以下任何內容是否正確,請告訴我是否有任何需要更改的內容。它所抱怨的行是packagesToRegister="org.eclipse.acceleo.parser.compiler.AcceleoCompiler">我不知道這條線是否正確,我只是猜測。

<path id="Framework.classpath"> 
    <path refid="Framework.libraryclasspath"/> 
</path> 

<taskdef id="acceleoCompiler" name="acceleoCompiler" classname="org.eclipse.acceleo.parser.compiler.AcceleoCompiler" 
     classpathref="Framework.libraryclasspath"> 
</taskdef> 

<target name="compile"> 
<acceleoCompiler sourceFolder="${SOURCE_FOLDER}" 
       outputFolder="${OUTPUT_FOLDER}" 
       dependencies="" 
       binaryResource="true" 
       packagesToRegister="org.eclipse.acceleo.parser.compiler.AcceleoCompiler"></acceleoCompiler> 
</target> 

回答

2

packagesToRegister是包你的元模型實例的引用,如果您的發電機使用UML元,要註冊的包org.eclipse.uml.uml2.UMLPackage(或類似的東西),您可以看到需要在生成器的Java啓動器類的方法registerPackage中註冊的程序包。 AcceleoCompiler不是要註冊的軟件包(這就是爲什麼在AcceleoCompiler上找不到變量eINSTANCE)。如果您已經生成了您自己的元模型的代碼,則應該查找由EMF生成的** Package類。

+0

謝謝你會試試這個,讓你知道結果。 – prolink007

+0

我用'packagesToRegister =「org.eclipse.emf.ecore.EcorePackage」'替換了'packagesToRegister =「org.eclipse.acceleo.parser.compiler.AcceleoCompiler」'並修復了我的'pathelement'錯誤的其他幾個地方。你的建議加上我提到的其他小改動解決了這個問題。謝謝! – prolink007