2012-08-14 87 views
3

我正在尝试为现有的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> 

回答

4

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> 
+0

感谢ü的答复,我会尝试这个 – NARENDRA 2012-08-14 12:34:47

+0

org.codehaus.groovy.grails.exceptions.NewInstanceCreationException:无法创建类[HibernateGrailsPlugin]的新实例! – NARENDRA 2012-08-14 12:39:58

+0

您还需要将Hibernate插件添加到pom依赖项。 org.grails.plugins 冬眠 $ {} grails.version 运行 拉链 Ruben 2012-08-14 14:17:51