将Maven添加到Grails项目中



第一个问题:)

我有一个Grails项目(使用2.5.6版本),而不是像现在这样使用Grails来生成war文件,我需要用Maven来编译这个项目。

我想知道这里是否有人曾经在Grails项目上实现过Maven,并且知道正确添加所有依赖项的步骤是什么。

编辑

我已经创建了pom文件并添加了grails-maven-plugin。但是当我尝试运行mvn grails:run app时,例如,它无法编译:


|Compiling 174 source files
[groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[groovyc] Compile error during compilation with javac.
[groovyc] C:...pluginswebflow-2.0.8.1srcgroovyorgcodehausgroovygrailswebflowpersistenceFlowAwareCurrentSessionContext.java:18: error: cannot find symbol
[groovyc] import org.hibernate.classic.Session;
[groovyc]                             ^
[groovyc]   symbol:   class Session
[groovyc]   location: package org.hibernate.classic
[groovyc] C:...pluginswebflow-2.0.8.1srcgroovyorgcodehausgroovygrailswebflowpersistenceFlowAwareCurrentSessionContext.java:19: error: cannot find symbol
[groovyc] import org.hibernate.engine.SessionFactoryImplementor;
[groovyc]                            ^
[groovyc]   symbol:   class SessionFactoryImplementor
[groovyc]   location: package org.hibernate.engine
[groovyc] C:...pluginswebflow-2.0.8.1srcgroovyorgcodehausgroovygrailswebflowpersistenceFlowAwareCurrentSessionContext.java:34: error: cannot access CurrentSessionContext
[groovyc] public class FlowAwareCurrentSessionContext extends SpringSessionContext {
[groovyc]        ^
[groovyc]   class file for org.hibernate.context.CurrentSessionContext not found...

Webflow和Hibernate的依赖关系都在我的pom文件中声明:

<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>webflow</artifactId>
<version>2.0.8.1</version>
<scope>compile</scope>
<type>zip</type>
</dependency>

<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>hibernate</artifactId>
<version>2.2.1</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>

PD:我在代理从Nexus下载依赖项。

谢谢!

我们在之前的项目中使用的是grails-maven-plugin,它提供了对grails命令作为maven目标的支持(我们的grails版本是2.3.11,所以我认为它与你的版本兼容)

您可以在项目上生成一个普通的pom.xml文件,保留grails结构,还可以通过maven构建项目。插件应该添加到您的pom文件的<plugins>部分:

<build>
<plugins>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>2.4.6</version>
<configuration>
<grailsVersion>${grails.version}</grailsVersion>
....
</configuration>
<extensions>true</extensions>
<executions>
<execution>
....
</execution>
</executions>
</plugin>
</plugins>
</build>

最新更新