0

grails 1.3.7 アプリをコンパイルしようとすると、次の依存関係エラーが発生します。何か助けはありますか?

> Error executing script RunApp:
> org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
> java.lang.NoSuchMethodError:
> org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
>   at
> org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
>   at
> org.codehaus.groovy.grails.plugins.CorePluginFinder.loadCorePluginsFromResources(CorePluginFinder.java:93)
>   at
> org.codehaus.groovy.grails.plugins.CorePluginFinder.getPluginClasses(CorePluginFinder.java:54)
>   at
> org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager.findCorePlugins(DefaultGrailsPluginManager.java:363)
>   at
> org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager.attemptLoadPlugins(DefaultGrailsPluginManager.java:326)
>   at
> org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager.loadPlugins(DefaultGrailsPluginManager.java:282)
>   at
> org.codehaus.groovy.grails.plugins.GrailsPluginManager$loadPlugins.call(Unknown
> Source)   at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>   at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>   at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)

更新: 現在、grails でプラグインをクリーンアップして手動で削除できます。最初のビルドは機能し、その後のすべてのビルドは上記のエラーで失敗します。

問題を引き起こしているプラ​​グインは、quartz-1.0-RC1 と neo4j-1.0.0.M2 です。以前の開発者は、これらのプラグインの depedencies.groovy にこれを追加しました

Neo4j - 以下に除外を追加

 runtime("org.grails:grails-datastore-gorm:$datastoreVersion","org.grails:grails-         datastore-core:$datastoreVersion") {
    excludes "jcl-over-slf4j", "slf4j-api"
 }

Quartz - slf4j-api を追加

 excludes 'ehcache', 'xml-apis', 'commons-logging', 'slf4j-api'

BuildConfig.Groovy

これを BuildConfig.groovy に追加しようとしましたが、うまくいきませんでした:

プラグイン {

    compile(":lesscss:1.0.0"){
           excludes "jcl-over-slf4j", "slf4j-api"
    }
    compile(":neo4j:1.0.0.M2"){
           excludes 'ehcache', 'xml-apis', 'commons-logging', 'slf4j-api'
    }
4

1 に答える 1

0

このスレッドはあなたの問題に関連している可能性があります: http://grails.1312388.n4.nabble.com/LocationAwareLogger-log-No-such-method-error-td3254387.html

私は同じ問題を抱えていて、上記のリンクで提案されているように、間違った推移的な依存関係を削除してしまいました。また、展開フェーズで同じエラーにつながった戦争で何らかの形でリークした slf4j jar ファイルを強制的に削除する必要がありました。

于 2013-09-20T07:08:18.933 に答える