Grails acegi插件类未添加到maven
我使用运行良好的acegi插件0.5.2创建了一个Grails1.2.0项目 为了将项目集成到我们的公司构建基础设施中,我需要通过maven构建它。因此,我使用grailsmaven集成将其转换为一个maven项目,该集成也非常有效 有一个问题:我有一个Java类CustomUserDetails,它实现了GrailUser接口。当maven试图编译项目时,它找不到属于acegi插件的GrailUser接口类 我是否遗漏了什么,或者grails maven集成是否存在导致类路径中缺少插件类的问题 更新:以下是我的项目的pom.xml:Grails acegi插件类未添加到maven,grails,maven,spring-security,Grails,Maven,Spring Security,我使用运行良好的acegi插件0.5.2创建了一个Grails1.2.0项目 为了将项目集成到我们的公司构建基础设施中,我需要通过maven构建它。因此,我使用grailsmaven集成将其转换为一个maven项目,该集成也非常有效 有一个问题:我有一个Java类CustomUserDetails,它实现了GrailUser接口。当maven试图编译项目时,它找不到属于acegi插件的GrailUser接口类 我是否遗漏了什么,或者grails maven集成是否存在导致类路径中缺少插件类的问题
<?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.troii</groupId>
<artifactId>testapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-crud</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-gorm</artifactId>
<version>1.2.0</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>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.11.0.GA</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>1.7.1</version>
<exclusions>
<exclusion>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<artifactId>servlet-api</artifactId>
</exclusion>
<!-- We have JCL-over-SLF4J instead. -->
<exclusion>
<artifactId>commons-logging</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-log4j12</artifactId>
<version>1.5.8</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<repositories>
<!-- Required to get hold of JTA -->
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
<layout>default</layout>
</repository>
<repository>
<id>Codehaus Snapshots</id>
<url>http://snapshots.repository.codehaus.org</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>Codehaus Snapshots</id>
<url>http://snapshots.repository.codehaus.org</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
<pluginManagement />
<plugins>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>1.2.0</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>
4.0.0
com.troii
特斯塔普
战争
1.0-快照
org.grails
圣杯积垢
1.2.0
org.grails
圣杯戈姆
1.2.0
org.hibernate
休眠ehcache
3.3.1.GA
javassist
javassist
3.11.0.GA
net.sf.ehcache
ehcache内核
1.7.1
jms
servlet api
公用记录
hsqldb
hsqldb
1.8.0.10
org.slf4j
slf4j-log4j12
1.5.8
运行时
javax.servlet
jstl
1.2
maven2-repository.dev.java.net
Maven的Java.net存储库
http://download.java.net/maven/2/
违约
科德豪斯快照
http://snapshots.repository.codehaus.org
真的
假的
科德豪斯快照
http://snapshots.repository.codehaus.org
真的
假的
org.grails
GrailsMaven插件
1.2.0
真的
初始化
马文清洁
验证
配置目录
maven编译
马文试验
马文战争
maven功能测试
maven编译器插件
1.5
1.5
工具
java.vendor
太阳微系统公司。
com.sun
工具
${java.version}
系统
${java.home}/./lib/tools.jar
我认为现在的情况是,在编译项目源代码时,您希望插件类路径可以使用。插件有自己的类加载器,所以你的类不会看到里面的东西
相反,为包含GrailUser界面的库定义一个项目依赖项,并确保该依赖项的范围为compile(默认)。您能发布pom.xml文件吗?是的,我认为这就是原因,我不确定这是一个bug还是需要做些不同的事情。你知道是否有一个maven工件包含acegi插件的类吗?类似的东西可以工作吗?mvn grails:install plugin-DpluginName=acegi mvn initialize更多信息此处:我没有测试上述内容否,这将安装grails插件,但不会更改maven依赖项