2012-11-15 3 views
6

Wenn ich ein bestimmtes Plugin, das ich mit "Realease-2.0.4" und Grails 2.0.1 erstellen, release, bekomme ich eine seltsame Ausnahme , die ich nicht loswerden kann. Ich habe viele Plugins mit ähnlichen Einstellungen, und keine dieser Ausnahmen erzeugt diese Ausnahme.Grails Plugin Fehler veröffentlichen "Klasse nicht gefunden Laden Plugin Ressource [spring.resources]"

| Error 2012-11-15 17:00:25,604 [main] ERROR plugins.DefaultGrailsPlugin - Class not found loading plugin resource [spring.resources]. Resource skipped. 
Message: spring.resources 
    Line | Method 
->> 202 | run  in java.net.URLClassLoader$1 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 190 | findClass in java.net.URLClassLoader 
| 306 | loadClass in java.lang.ClassLoader 
| 247 | loadClass in  '' 
| 178 | doCall . in _PluginDependencies_groovy$_run_closure5_closure23 
| 176 | doCall in _PluginDependencies_groovy$_run_closure5 
| 60 | doCall . in _GrailsPackage_groovy$_run_closure2 
| 45 | doCall in PublishPlugin$_run_closure1 
^ 62 | doCall . in  '' 
| Error 2012-11-15 17:00:25,977 [main] ERROR plugins.DefaultGrailsPlugin - Class not found loading plugin resource [spring.resources]. Resource skipped. 
Message: spring.resources 
    Line | Method 
->> 202 | run  in java.net.URLClassLoader$1 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 190 | findClass in java.net.URLClassLoader 
| 306 | loadClass in java.lang.ClassLoader 
| 247 | loadClass in  '' 
| 178 | doCall . in _PluginDependencies_groovy$_run_closure5_closure23 
| 176 | doCall in _PluginDependencies_groovy$_run_closure5 
| 60 | doCall . in _GrailsPackage_groovy$_run_closure2 
| 45 | doCall in PublishPlugin$_run_closure1 
^ 62 | doCall . in  '' 

Das ist alles, was es zur Stack-Trace gibt.

Es sind keine Ressourcen unter grails-app/conf/spring/resources definiert.

Irgendeine Idee, wie ich das löse?

+0

Haben Sie eine Lösung dafür gefunden? – whitenexx

+0

Nein, ich habe nicht ... – Hoof

+0

Jeder Haken, den Sie versucht haben, dies zu lösen. –

Antwort

0

1.Context

Ich bin mit Grails 2.4.3 und Java 1.7 für eine benutzerdefinierte Plugin entwickeln und es in einer Anwendung verwenden. Das benutzerdefinierte Plugin verwendet spring-security-core Plugin und fügt einige Funktionen hinzu. Die Anwendung verwendet das benutzerdefinierte Plugin und fügt weitere Funktionen hinzu. Die Idee ist, Feder-Sicherheit und andere gebräuchliche Funktionen im benutzerdefinierten Plugin einzurichten und in mehreren Projekten zu verwenden.

Wenn ich die Anwendung mit der nächsten Konfiguration bei conf/BuildConfig.groovy Datei dort laufen ist kein Problem:

... 
grails.plugin.location.'author-security-plugin' = "../AuthorSecurityPlugin" 
... 

Jedoch, wenn ich das Plugin verpackt und installiert es auf meinem Maven lokalen Repository mit folgenden Befehle :

$ grails clean 
$ grails refresh-dependencies 
$ grails maven-install 

nächste Konfiguration bei conf/BuildConfig.groovy Datei verwenden:

dependencies { 
    // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g. 
    compile: ':domino-connection-lib:' 
    runtime: 'postgresql:postgresql:9.2-1002.jdbc4' 

    //custom plugin 
    compile: "com.company:author-security-plugin:0.1" 
} 
... 
//grails.plugin.location.'author-security-plugin' = "../AuthorSecurityPlugin" 
... 

und führen Sie den Grails Lauf App Befehl Das Projekt wirft nächste Ausnahme:

| Packaging Grails application..... 
2015-04-20 17:12:42,067 [main] ERROR plugins.DefaultGrailsPlugin - Class not found loading plugin resource [spring.resources]. Resource skipped. 
java.lang.ClassNotFoundException: spring.resources 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at _PluginDependencies$_run_closure2.doCall(_PluginDependencies.groovy:48) 
at _GrailsPackage$_run_closure2.doCall(_GrailsPackage.groovy:57) 
at RunApp$_run_closure1.doCall(RunApp.groovy:28) 

Hinweis: Die Frühjahr/resources.groovy Datei enthält:

// Place your Spring DSL code here 
beans = { 
    customAuthenticationProvider(CustomAuthenticationProvider){ 
     springSecurityService=ref('springSecurityService') 
     customUserService=ref('customUserService') 
    } 
    ... 
} 

2.Solution

Die Lösung löschte in meinem Fall die Datei "grails-app/conf/spring/resources.groovy" im benutzerdefinierten Plugin und verschiebe ihren Inhalt nach "grails-app/conf/spring/resources.groovy" in der Anwendung.

Ich hoffe, das kann Ihnen helfen.