2015-11-26 60 views
0

在eclipse PDE(安裝了EMF-IncQuery)中,如果我們有.eiq文件和相應的.genmodel文件,只需刷新它就會生成所有.java文件並放入src-gen軟件包。如何從.eiq文件生成java文件?

只是想知道如果我們可以通過任何maven插件做同樣的事情?

我已經通過https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/Build瞭解如何從.genmodel生成java文件,但沒有關於通過EMF-IncQuery maven插件從.eiq文件生成java文件的信息。

PF有關的pom.xml進入

<!-- Setting up generator --> 
      <plugin> 
       <groupId>org.eclipse.incquery</groupId> 
       <artifactId>incquery-maven-plugin</artifactId> 
       <version>1.0.1</version> 
       <!-- Binding execution to the code generation lifecycle phase --> 
       <executions> 
       <execution> 
        <goals> 
        <goal>generate</goal> 
        </goals> 
       </execution> 
       </executions> 
       <configuration> 
       <!-- Output directory - required --> 
       <outputDirectory>${project.build.directory}/../src-gen</outputDirectory> 
        <metamodels> 
        <metamodel> 
         <!-- Java class for the EMF EPackage - use this if generated EMF code is in the classpath --> 
         <packageClass>${project.build.directory}/../abc.def.mnq.epackage.jar</packageClass> 
         <!-- genmodel file used for generating the EMF model classes - use this if EMF model is in the same project 
         <genmodelUri>${project.build.directory}/../XYZ.genmodel</genmodelUri> --> 
        </metamodel> 
        </metamodels> 
       </configuration> 
       </plugin> 
     </plugins> 

回答

0

所提到的文檔頁面有一個example pom.xml也採用了incquery Maven的編譯器插件,在「設置發電機」評論如下。

其基本思想是你應該定義輸出文件夾,並選擇你的代碼使用的EPackages,然後Maven編譯器會生成代碼。

+0

感謝您的回覆。是的,示例pom xml已經清楚地提到了輸出文件夾。元模型部分的輸入對我來說不是很清楚。我基本上是XYZ.genmodel和XYZ.ecore,但是沒有提到維基頁面的Epackage。 我是否必須創建Epackages(.java文件)以提供輸入或.genmodel + .ecore足以從.eiq文件生成src-gen? 可能是因爲提供.jar文件給出了錯誤的類名「.error。 – lifeline2

+0

」,EMF-IncQuery預計所引用的EMF元模型(EPackages)可用,因此我不得不挖掘並提供相應的EPackage java文件。因此, Maven編譯器具有兩個選項:要麼從類路徑引用EMF生成的EPackage類(基本上取決於您的任何東西);要麼通過uri引用EMF .genmodel文件。 –