2011-02-16 62 views
1

创建Grails项目当我尝试使用原型创建了一个Maven化的Grails 1.3.6项目:从Maven原型

mvn archetype:generate -DarchetypeGroupId=org.grails 
-DarchetypeArtifactId=grails-maven-archetype -DarchetypeVersion=1.3.6 
-DgroupId=example -DartifactId=my-app 
-DarchetypeRepository=http://repo1.maven.org/maven2 

我得到的错误

[错误]未能执行目标 org.apache.maven.plugins:maven-archetype-plugin:2.0:在项目中生成 (default-cli) standalone-pom:期望的原型 不存在 (org.grails:grails-maven-archetype:1.3 .6)

我查过了the repository版本1.3.6确实存在。此外,如果我用1.3.2替换1.3.6版本中的版本1.3.6,它就可以工作。

回答

1

运行mvn archetype:generate(交互模式)并选择选项286

286:远程 - > Grails的,Maven的原型(Maven原型Grails的项目)

一般情况下,我有办法更麻烦比使用maven原型的解决方案:S。

0

我不知道你的特定配置是怎么回事,但是我运行了你在那里列出的确切命令,并且它已经成功建立。由于我猜测这与你之前关于如何指定依赖关系的问题有关,所以我怀疑你更关心的是pom文件的内容,而不是真正了解原型的内容,我将发布pom.xml文件,原型为我生成。

<?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>example</groupId> 
    <artifactId>my-app</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <name>A custom grails project</name> 
    <description>A custom grails project</description> 
    <url>http://www.myorganization.org</url> 

    <properties> 
    <grails.version>1.3.6</grails.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>org.grails</groupId> 
     <artifactId>grails-bootstrap</artifactId> 
     <version>${grails.version}</version> 
     <exclusions> 
     <exclusion> 
      <groupId>org.codehaus.gpars</groupId> 
      <artifactId>gpars</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.codehaus.gant</groupId> 
      <artifactId>gant_groovy1.7</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.gparallelizer</groupId> 
      <artifactId>GParallelizer</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.codehaus.gant</groupId> 
      <artifactId>gant_groovy1.6</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant-launcher</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ivy</groupId> 
      <artifactId>ivy</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.grails</groupId> 
     <artifactId>grails-crud</artifactId> 
     <version>${grails.version}</version> 
     <exclusions> 
     <exclusion> 
      <groupId>org.grails</groupId> 
      <artifactId>grails-docs</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant-launcher</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>radeox</groupId> 
      <artifactId>radeox</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>commons-digester</groupId> 
      <artifactId>commons-digester</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>javax.persistence</groupId> 
      <artifactId>persistence-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.grails</groupId> 
     <artifactId>grails-gorm</artifactId> 
     <version>${grails.version}</version> 
     <exclusions> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant-launcher</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>commons-digester</groupId> 
      <artifactId>commons-digester</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-annotations</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>antlr</groupId> 
      <artifactId>antlr</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.grails</groupId> 
     <artifactId>grails-test</artifactId> 
     <version>${grails.version}</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.1.2</version> 
    </dependency> 

    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>1.1.2</version> 
    </dependency> 

    <!-- Grails defaults to Ehache for the second-level Hibernate cache. --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-ehcache</artifactId> 
     <version>3.3.1.GA</version> 
     <exclusions> 
      <!-- See http://www.slf4j.org/faq.html#IllegalAccessError --> 
      <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      </exclusion> 

      <!-- We are pulling in ehcache-core below --> 
      <exclusion> 
      <groupId>net.sf.ehcache</groupId> 
      <artifactId>ehcache</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>net.sf.ehcache</groupId> 
     <artifactId>ehcache-core</artifactId> 
     <version>1.7.1</version> 
     <exclusions> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 

    <!-- For ease of development and testing, we include the HSQLDB database. --> 
    <dependency> 
     <groupId>hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <version>1.8.0.10</version> 
    </dependency> 

    <!-- Use Log4J for logging. This artifact also pulls in the Log4J JAR. --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.5.8</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.5.8</version> 
     <scope>runtime</scope> 
    </dependency> 

    <!-- Needed in the case of AOP usage --> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>1.6.8</version> 
    </dependency> 

    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>1.6.8</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>1.3</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-collections</groupId> 
     <artifactId>commons-collections</artifactId> 
     <version>3.2.1</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-pool</groupId> 
     <artifactId>commons-pool</artifactId> 
     <version>1.5.3</version> 
    </dependency> 

    </dependencies> 

    <dependencyManagement> 
    <dependencies> 
     <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     <scope>runtime</scope> 
     </dependency> 
    </dependencies> 
    </dependencyManagement> 

    <repositories> 
     <!-- Required to get hold of javassist:javassist --> 
    <repository> 
     <id>jboss.org</id> 
     <name>jboss.org</name> 
     <url>http://repository.jboss.com/maven2/</url> 
    </repository> 
    </repositories> 

    <build> 
    <pluginManagement /> 

    <plugins> 
     <plugin> 
     <groupId>org.grails</groupId> 
     <artifactId>grails-maven-plugin</artifactId> 
     <version>${grails.version}</version> 
     <extensions>true</extensions> 
     <executions> 
      <execution> 
      <goals> 
       <goal>init</goal> 
       <goal>maven-clean</goal> 
       <goal>validate</goal> 
       <goal>config-directories</goal> 
       <goal>maven-compile</goal> 
       <goal>maven-test</goal> 
       <goal>maven-war</goal> 
       <goal>maven-functional-test</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

    <profiles> 
    <profile> 
     <id>tools</id> 
     <activation> 
     <property> 
      <name>java.vendor</name> 
      <value>Sun Microsystems Inc.</value> 
     </property> 
     </activation> 
     <dependencies> 
     <dependency> 
      <groupId>com.sun</groupId> 
      <artifactId>tools</artifactId> 
      <version>${java.version}</version> 
      <scope>system</scope> 
      <systemPath>${java.home}/../lib/tools.jar</systemPath> 
     </dependency> 
     </dependencies> 
    </profile> 
    </profiles> 
</project> 
0

grails 2的新maven原型即将发布。见MAVEN-162