【发布时间】:2014-11-19 14:25:57
【问题描述】:
我有一个简短的问题,有一段时间我正在尝试使用 maven 构建我的应用程序并遇到一些小问题。
首先,我从以下位置更新它:
Grails 1.3.7 -> 2.0 -> 2.1 -> 2.3.8
使用标准的 BuildConfig.groovy,它可以正常工作,并且我的应用运行正常。
现在执行后:
grails create-pom mycompany
并调整 pom 以更多地反映现实,我一直遇到以下错误:
[context.ContextLoader] [错误] [16:00:24] [上下文初始化失败] org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中定义名称为“pluginManager”的 bean 创建错误:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: Lgrails/plugin/searchable/SearchableService; 在 org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733) 在 org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233) 在 org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214) 在 org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676) 在 org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455) 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 在 org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) 在 org.eclipse.jetty.server.Server.doStart(Server.java:261) 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 在 org.grails.jetty.JettyServer.startServer(JettyServer.groovy:134) 在 org.grails.jetty.JettyServer.start(JettyServer.groovy:99) 在 _GrailsRun$_run_closure1.doCall(_GrailsRun.groovy:60) 在 RunApp$_run_closure1.doCall(RunApp.groovy:33) 在 org.grails.launcher.GrailsLauncher.launch(GrailsLauncher.java:144) 在 org.grails.maven.plugin.tools.ForkedGrailsRuntime.main(ForkedGrailsRuntime.java:168) 引起:java.lang.NoClassDefFoundError: Lgrails/plugin/searchable/SearchableService; 在 java.lang.Class.privateGetDeclaredFields(Class.java:2348) 在 java.lang.Class.getDeclaredField(Class.java:1916) ... 15 更多 引起:java.lang.ClassNotFoundException:grails.plugin.searchable.SearchableService 在 org.grails.launcher.RootLoader.findClass(RootLoader.java:147) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 org.grails.launcher.RootLoader.loadClass(RootLoader.java:119) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 17 更多
我的 pom 的配置:
构建部分:
<build>
<pluginManagement/>
<plugins>
<!-- Disables the Maven surefire plugin for Grails applications, as we have our own test runner -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>surefire-it</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>plugins</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<configuration>
<!-- Whether for Fork a JVM to run Grails commands -->
<fork>true</fork>
</configuration>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
依赖部分:
<dependencies>
.....
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>searchable</artifactId>
<version>0.6.9</version>
<type>zip</type>
<scope>compile</scope>
</dependency>
....
</dependencies>
执行 mvn clean install 显示可搜索插件安装成功。
加载 Grails 2.3.8 |配置类路径 |运行预编译脚本 . |环境开始发展 …… |正在安装 zip tinyurl-0.1.zip... ... |安装插件 tinyurl-0.1 ...... |正在安装 zip executor-0.3.zip... ... |安装插件executor-0.3 ...... |正在安装 zip searchable-0.6.9.zip... ... |已安装插件 searchable-0.6.9
感谢您安装 Grails 可搜索插件!
文档可在 ...
可以从 user@grails.codehaus.org 获得帮助
问题和改进应在...提出。
如果您是从以前的版本升级,请参阅...
|正在安装 zip jquery-datatables-1.7.5.zip... ...
|已安装插件 jquery-datatables-1.7.5
...... |正在安装 zip jetty-2.0.3.zip... ...
|已安装插件 jetty-2.0.3 ......
非常感谢您对此的帮助,并在此先感谢!
【问题讨论】: