Problems with Grails' acegi plugin?
Hello,
I've installed the Acegi plugin in my Grails project (see http://grails.codehaus.org/AcegiSecurity+Plugin), and generated associated targets, all this outside of IDEA.
Back to IDEA, I can see that it is having difficulties finding references that are located in the plugin itself. Let me make this clearer:
- There are libs installed in the plugin. They are in myapp\plugins\acegi-0.2\lib. But code inside (for example) myapp\grails-app\controllers\LoginController cannot reference these libs. I know I can change the project settings - but it sucks (pardon my english).
- Similarly, there is an AuthenticateService service located in myapp\plugins\acegi-0.2\grails-app\services, which is referenced in myapp\grails-app\controllers\LoginController but cannot be found by IDEA. Don't have a workaround for this.
Of course, if I open a command prompt and run grails run-app, it all works fine. The problems I have are definitely related to the JetGroovy IDEA plugin.
Any thoughts?
Thanks!
Schnok
请先登录再写评论。
Some more specifics on the above situation
- IDEA 7.0.2
- JetGroovy Plugin 1.0.13998
- Groovy 1.5.4
- Grails 1.0
- Grails Acegi plugin 0.2
Thanks!
Do you mean jetgroovy should listen to external file system changes to plugins dir, and modify the roots of the project when a plugin has been installed to your app? Makes sense to me.
Eugene.
Hi Eugene,
I think it makes sense to me too. After all, when I generate Grails artifacts at the command prompt, I can see IDEA is picking them up by itself. But as I said, the libs added by grails plugins are not much of a problem - I can reference them myself.
The thing that worries me more is the services inside the plugins that may be referenced by controllers in my app (see the example I gave in the original post).
Thanks!
Hello,
I just read something here (http://memo.feedlr.com/?p=4) which more or less confirms what I experienced yesterday:
"Service classes cannot get resolved in controllers while they are are marked as source folders"
The case I had may be more complex as it was about services in a grails plugin not resolved in the app itself.
Is there a workaround? Because as of now, that's kind of a showstopper to me.
Thanks!
Fixed and will be available in the next 1.5 build.
Hello,
That looks great. When is version 1.5 planned for release?
Thanks!
It;s not decided yet, but not earlier than 7.0.3 for sure.
After using IntelliJ Idea Build 7718 (Selena) and updating to JetGroovy Plugin 1.5.14690 (announced yesterday]]>) Idea seem to find AutenticateService and does not report errors inside the IDE.
But when I try to run the application, the make target fails throwing the Error "cannot find symbol class AuthenticateService". Any ideas?
Thank you in advance,
Fabian
Hi,
I'm having the same problem.
I'm using plugin 1.5.15683
Anyone know of a resolution for this ?
Thanks,
tom
i too have encountered this. 1.5.16466
also cannot run the grails app with acegi plugin in 7.0.4 with jetgroovy 1.6
A workaround:
add
acegi-0.3\grails-app\controllers
acegi-0.3\grails-app\services
acegi-0.3\src\groovy
acegi-0.3\src\java
to the Project Settings -> Modules -> Content Root (aka your project name) -> sources
and then add a user library containing all the jars inside acegi-0.3\lib