2015-04-01 93 views
0

我有一個在一個環境中運行正常的Grails 2.4.2應用程序。現在,我們需要在另一個環境中進行設置,其中我們有一些與訪問Maven存儲庫有關的限制。所以,我必須在BuildConfig.groovy文件中進行一些更改以使應用程序在新環境中正常運行。我可以訪問JAR和自定義插件的本地版本代碼。Grails 2.4.2 - 錯誤context.ContextLoader - 上下文初始化失敗

我已經將JAR安裝到我的本地Maven存儲庫中,並將自定義插件的代碼文件本地放置在與我的項目代碼相同的目錄中。我在BuildConfig.groovy文件中進行了以下更改以解決出現的錯誤。

指定本地自定義插件:

​​

取而代之的是下面的語句中的插件模塊:

compile ':custom-plugin:1.0'

指定的庫塊以下幾點:

mavenRepo "http://repo.grails.org/grails/core"

mavenRepo "http://repo.grails.org/grails/plugins/"

指定的依賴塊以下幾點:

compile 'org.springframework:spring-aop:4.0.5.RELEASE'

compile 'org.springframework:spring-expression:3.0.2.RELEASE'

然而,這些變化我得到一個奇怪的錯誤消息,當我做grails run-app,我無法瞭解。錯誤日誌中提到如下:

Error | 
 
2015-04-01 11:18:50,655 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed 
 
Message: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL 
 
    Line | Method 
 
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync 
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
| 138 | run  in java.util.concurrent.FutureTask 
 
| 895 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker 
 
| 918 | run  in  '' 
 
^ 662 | run . . in java.lang.Thread 
 

 
Caused by NoSuchFieldError: NULL 
 
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync 
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
| 138 | run  in java.util.concurrent.FutureTask 
 
| 895 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker 
 
| 918 | run  in  '' 
 
^ 662 | run . . in java.lang.Thread 
 

 
Error | 
 
2015-04-01 11:18:50,716 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL 
 
Message: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL 
 
    Line | Method 
 
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync 
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
| 138 | run  in java.util.concurrent.FutureTask 
 
| 895 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker 
 
| 918 | run  in  '' 
 
^ 662 | run . . in java.lang.Thread 
 

 
Caused by NoSuchFieldError: NULL 
 
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync 
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
| 138 | run  in java.util.concurrent.FutureTask 
 
| 895 | runTask in java.util.concurrent.ThreadPoolExecutor$Worker 
 
| 918 | run  in  '' 
 
^ 662 | run . . in java.lang.Thread 
 

 

 
Process finished with exit code 1

有人可以懇請指出我的一些方向,至於爲什麼這個奇怪的錯誤快到了,我怎麼能解決這個問題?

任何幫助將不勝感激。

指定的庫塊以下:

mavenRepo "http://repo.grails.org/grails/core"

mavenRepo "http://repo.grails.org/grails/plugins/"

回答

1

顯然,這個問題是由於某種當我添加以下語句出現的框架內,內部衝突造成的

在依存關係塊中指定以下內容:

compile 'org.springframework:spring-aop:4.0.5.RELEASE'

compile 'org.springframework:spring-expression:3.0.2.RELEASE'

當從BuildConfig.groovy文件中刪除這些,我就能夠讓應用程序運行正常使用grails run-app

雖然我不太瞭解這個問題的確切原因。如果有人能夠找到根本原因,那就太好了。

相關問題