2013-12-15 53 views
0

我想在我的ecplise工作區導入項目: 項目https://github.com/steinsag/gwt-maven-example導入Maven項目,但父模塊禁用

結構爲:

  1. GWT Maven的,例如主
    • 的pom.xml
    • 服務器
      • 的pom.xml
      • ...
    • 共享
      • 的pom.xml
      • ...
    • 網絡
      • 的pom.xml
      • ...

父POM:

<?xml version="1.0" encoding="UTF-8"?> 
<project 
     xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>de.hpfsc</groupId> 
    <artifactId>parent</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0.0-SNAPSHOT</version> 

    <modules> 
     <module>server</module> 
     <module>shared</module> 
     <module>web</module> 
    </modules> 

    <properties> 
     <gwtVersion>2.5.0</gwtVersion> 
     <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <tomcat.webport>8082</tomcat.webport> 
     <tomcat.ajpport>8182</tomcat.ajpport> 
     <tomcat.context>/parent</tomcat.context> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.gwt</groupId> 
      <artifactId>gwt-servlet</artifactId> 
      <version>${gwtVersion}</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.gwt</groupId> 
      <artifactId>gwt-user</artifactId> 
      <version>${gwtVersion}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.7</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.0.0.GA</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.0.0.GA</version> 
      <classifier>sources</classifier> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 


    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>gwt-maven-plugin</artifactId> 
       <version>2.5.0-rc2</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat7-maven-plugin</artifactId> 
       <version>2.0</version> 
       <configuration> 
        <path>${tomcat.context}</path> 
        <port>${tomcat.webport}</port> 
        <ajpPort>${tomcat.ajpport}</ajpPort> 
        <systemProperties> 
         <JAVA_OPTS>-XX:MaxPermSize=256m</JAVA_OPTS> 
        </systemProperties> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

當我嘗試導入包含這個POM到eclipse文件夾,它可以讓我選擇孩子文件夾,但不是父本身。

爲什麼不能導入父pom? 我試着創建一個父文件夾,把pom.xml放在裏面,並使用../server引用其他模塊,但它不起作用。 我試圖從父pom中刪除與tomcat配置相關的代碼,但它也不起作用。

感謝

+0

您如何嘗試導入項目?你有沒有安裝m2e插件?你使用什麼eclipse版本? (並且,歡迎!) – Behe

回答

1

你需要安裝插件M2E(你可能已經有這個取決於日食的版本)。我猜目前您正在執行「導入」,然後是「現有項目進入工作區」,但您需要選擇「現有Maven項目」。這將允許您選擇父POM和子模塊。

+0

嗨,謝謝你的回答。 M2e已安裝,我正在導入現有的Maven項目。問題是可以選擇server/pom.xml shared/pom.xml和web/pom.xml,但/pom.xml已禁用,無法選擇 – rolele

+2

當您單擊禁用的父pom時,通常使用eclipse顯示一條消息,告訴你爲什麼它被禁用,例如「項目已導入到工作區」。另外,我剛剛嘗試過,並且在使用m2e 1.0.200的Eclipse Indigo SR2中可以正常工作。嘗試在父級上運行'mvn clean install'來檢查整個項目的構建是否正確。 – stripybadger