Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Grails脚本加载bean_Grails_Dependencies - Fatal编程技术网

从Grails脚本加载bean

从Grails脚本加载bean,grails,dependencies,Grails,Dependencies,我正在运行一个grails脚本来从grails应用程序加载bean,但是,似乎我有一个依赖性问题。这是我的代码: import grails.spring.BeanBuilder import org.springframework.context.ApplicationContext target(main: "Script to load location information into Solr") { println "Hello script" def bb = new Bean

我正在运行一个grails脚本来从grails应用程序加载bean,但是,似乎我有一个依赖性问题。这是我的代码:

import grails.spring.BeanBuilder
import org.springframework.context.ApplicationContext

target(main: "Script to load location information into Solr") {

println "Hello script"
def bb = new BeanBuilder()
ApplicationContext appContext = bb.createApplicationContext()
def service = appContext.getBean("solrjService")   
}

setDefaultTarget(main)
当我执行脚本时,我得到以下堆栈跟踪:

main:
Hello script
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
    Caused by: java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.staticInitialize(LoggerFactory.java:83)
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:73)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
at grails.spring.BeanBuilder.<clinit>(BeanBuilder.java:84)
main:
你好脚本
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
位于org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
原因:java.lang.IllegalAccessError:试图从类org.slf4j.LoggerFactory访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON
位于org.slf4j.LoggerFactory.staticInitialize(LoggerFactory.java:83)
登录org.slf4j.LoggerFactory(LoggerFactory.java:73)
位于org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
位于org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
位于grails.spring.BeanBuilder(BeanBuilder.java:84)
有什么想法吗


感谢您抽出时间

如果您阅读了调用堆栈,很明显这是SLF4J的问题

看起来您可能混合了SLF4J JAR的版本,并产生了冲突


但是,当然,Burt是正确的-一旦你通过了这个,你会发现你已经初始化了没有bean的BeanBuilder的ApplicationContext。

如果你读了调用堆栈,很明显这是SLF4J的问题

看起来您可能混合了SLF4J JAR的版本,并产生了冲突


但是,当然,Burt是正确的-一旦你通过了这个,你会发现你已经初始化了BeanBuilder的ApplicationContext,没有bean。

我必须包含target\u GrailsBootstrap才能加载我的bean

那么现在,我这样运行它

grails Myscript.groovy
我没有任何类路径问题:D


感谢您的帮助

我必须包含target\u GrailsBootstrap才能加载我的bean

那么现在,我这样运行它

grails Myscript.groovy
我没有任何类路径问题:D


感谢您的帮助

我想它在告诉您新的空应用程序上下文中没有
solrjService
bean的过程中崩溃了。我需要从这个groovy脚本加载solrjService,所以,我应该怎么做??如果我注释ApplicationContext appContext=bb.createApplicationContext()和def service=appContext.getBean(“solrjService”),它仍然会崩溃。如何查看grails应用程序中的哪些依赖项冲突??(可能我必须排除Buildconfig.groovy中的一些库)谢谢BurtI假设它在告诉您新的空应用程序上下文中没有
solrjService
bean的过程中崩溃了。我需要从这个groovy脚本加载solrjService,那么,我应该怎么做呢??如果我注释ApplicationContext appContext=bb.createApplicationContext()和def service=appContext.getBean(“solrjService”),它仍然会崩溃。如何查看grails应用程序中的哪些依赖项冲突??(可能我必须排除Buildconfig.groovy中的一些库)谢谢Burth,找到这个JAR的最好方法是什么?我知道它们在.ivy/cache目录中(我可以手动查看),但我想知道是否有一种自动方法(一些工具…)来完成这项工作。谢谢,找到这个JAR的最佳方法是什么?我知道它们在.ivy/cache目录中(我可以手动查看),但我想知道是否有一种自动方法(一些工具…)谢谢
grails Myscript.groovy