Grails和Maven集成
问题描述:
我正在尝试为现有的Grails项目进行Grails和Maven集成。 但它抛出异常,因为Grails和Maven集成
maven-test (default) on project Co-optimum: Unable to start Grails: java.lang.reflect.InvocationTargetException: org/springframework/security/web/authentication/LoginUrlAuthenticationEntryPoint: org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint
我的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>com.samples</groupId>
<artifactId>Co-optimum</artifactId>
<packaging>war</packaging>
<name>Co-optimum</name>
<properties>
<sourceComplianceLevel>1.6</sourceComplianceLevel>
</properties>
<version>0.1</version>
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.8</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.8</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>1.3.7</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>clean</goal>
<goal>config-directories</goal>
<goal>maven-compile</goal>
<goal>maven-test</goal>
<goal>maven-war</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
答
Maven的集成与Grails的2.1.0和插件依赖性返工,现在也需要在Maven POM文件中定义。而之前的插件依赖项是使用BuildConfig.groovy或application.properties进行管理的。
您需要将所有插件和常规依赖项从BuildConfig.groovy和application.properties移至pom.file。
对于一些插件,可能需要在标准的Grails中明确添加不明确需要的pom中的依赖项。但是,在使用Maven启动Grails时,这些错误日志会变得很清晰。
具体你缺少的春季安全插件的依赖,并且需要将以下XML片段添加到您的依赖列表:
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>spring-security-core</artifactId>
<version>1.2.7.3</version>
<scope>compile</scope>
<type>zip</type>
</dependency>
您还需要确保的Grails Maven仓库可通过增加下面的代码片段的POM文件:
<repositories>
<repository>
<id>grails</id>
<name>grails</name>
<url>http://repo.grails.org/grails/core</url>
</repository>
<repository>
<id>grails-plugins</id>
<name>grails-plugins</name>
<url>http://repo.grails.org/grails/plugins</url>
</repository>
</repositories>
感谢ü的答复,我会尝试这个 – NARENDRA 2012-08-14 12:34:47
org.codehaus.groovy.grails.exceptions.NewInstanceCreationException:无法创建类[HibernateGrailsPlugin]的新实例! – NARENDRA 2012-08-14 12:39:58
您还需要将Hibernate插件添加到pom依赖项。 org.grails.plugins 冬眠 $ {} grails.version 运行 拉链 –
Ruben
2012-08-14 14:17:51