Grails 환경을 완전히 부트 스트랩하려면 어떻게해야합니까?
-
06-09-2019 - |
문제
인터넷에서 임의의 장소에서 찾은 성배 스크립트가 포함되어 있으며 부트 스트랩 된 성배 대상에서 스크립트를 발사하는 데 효과적입니다. 그것이하지 않는 유일한 것은 내 conf/*Bootstrap.groovy
런 앱을 할 때와 같은 스크립트.
다른 기능이 있습니까? loadApp()
그리고 configureApp()
저를 위해 그렇게 할 것입니까?
import org.codehaus.groovy.grails.support.PersistenceContextInterceptor
Ant.property(environment: "env")
grailsHome = Ant.antProject.properties."env.GRAILS_HOME"
includeTargets << new File("${grailsHome}/scripts/Bootstrap.groovy")
target('default': "Runs scripts in the test/local directory") {
if (!args) { throw new RuntimeException("[fail] This script requires an argument - the script to run.") }
depends(configureProxy, packageApp, classpath)
classLoader = new URLClassLoader([classesDir.toURI().toURL()] as URL[], rootLoader)
Thread.currentThread().setContextClassLoader(classLoader)
loadApp()
configureApp()
def interceptor = null
def beanNames = appCtx.getBeanNamesForType(PersistenceContextInterceptor)
if (beanNames && beanNames.size() == 1) {
interceptor = appCtx.getBean(beanNames[0])
}
try {
interceptor?.init()
new GroovyScriptEngine(Ant.antProject.properties."base.dir", classLoader).run("scripts/${args}.groovy", new Binding(['appCtx':appCtx]))
interceptor?.flush()
} catch (Exception e) {
e.printStackTrace()
interceptor?.clear()
} finally {
interceptor?.destroy()
}
}
해결책
예, 시도하십시오
새로운 부트 스트랩 (). init ()
제휴하지 않습니다 StackOverflow