从Maven原型创建grails项目

时间:2011-02-16 12:06:05

标签: grails groovy maven-2 maven-archetype

当我尝试使用原型创建Mavenized Grails 1.3.6项目时:

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:行家-原型-插件:2.0:产生   项目中的(default-cli)   standalone-pom:所需的原型   不存在   (org.grails:的grails-行家-原型:1.3.6)

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

3 个答案:

答案 0 :(得分:1)

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

286:遥控 - > grails-maven-archetype(Grails项目的Maven原型。)

总的来说,我遇到的问题比使用maven原型的解决方案更麻烦:S。

答案 1 :(得分: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>

答案 2 :(得分:0)

即将推出针对Grails 2的新maven原型。见MAVEN-162