Let me preface this by saying that my complaints may be completely unfounded and if anyone can help me solve my problems I will be most greatful.
So, let me describe the application I'm working on.
We have 2 tier design with Hibernate and Spring being the basis of our service layer and Seam/JSF being the basis of our web layer. Obviously there are other technologies/libs involved but...that's they are the foundations.
BUT!!!! (And this seems to be where jboss tools and to a certain extent eclipse itself falls to the ground and becomes a very annoying tool) I am not a 1 man team. Not only am I not alone, Eclipse is NOT the only IDE being used. Infact the structure of the app was designed in InteliJ (IDEA).
So. let me explain our structure.
-> workspace //The eclipse workspace for my project is here outside my codebase
Inside the code folder
-> gekko-build //Yeah I had to use linked resources to make this work cause ecipse is stupid about only compiling inside the project space
-> gekko-services //All our .java files from ../gekko/gekko-services (see description below) compile there .class files to here
-> gekko-web //Same as above except all the .class files from the compiled ../gekko/gekko-web/*.java files
-> gekko-services //All our Hibernate and Spring stuff are here. Entities, Spring Components and Services
-> web/WEB-INF //Contains things like web.xml and other files that will deploy into the war WEB-INF directory
-> java //This is where all our Seam beans are.
-> resources //.properties files for messages etc
-> web //All our .xhtml files are here
So, that's a fairly accurate view of our folder structure.
So, let's try getting jBoss tools to play nice with this project... Older versions of the jboss tools worked OK. They had issues but auto complete in EL expressions and other features that really were quite helpful worked. There was a lot of stuff that didn't but I could live with it. As new versions came out it would take me longer and longer to get them working with our structure up till now. Now I can't get it working at all.
So, I do the Add Seam Support
Seam support - checked
Seam Runtime - created a new runtime to the directory I have in a sibling project...once again WHY!!! can't I put in a project relative path *SIGH* (I want to share these settings to others in my team...why make them hardcoded directories?)
Deployment - WAR (I really don't want you to care about how I deploy, I just want you to allow me to have the features of EL expression auto complete etc)
View Folder - Well, I tried blank and /gekko/gekko-web/web but no idea if it is doing anything for me
Model - blank....We dont use extended persistence context Spring is our transaction manager.
Action/Form/Conv - gekko/gekko-web/prod-src/java - But....the Seam beans are not detected *sigh*
package - gekko.web
Test - left unchecked
So, click apply and nope not working.
Now, I've played around a bit with this and I notice that the Seam buildier is not appearing in my list of builders. *sigh*
So, I go check out the project Facets. Seam is not checked...if I try check it it tells me I have constraints not met. OK
But....all the required constraints now try to enforce a structure on my app. WTH? It should NOT matter how my uncompiled app is structured.
So, not to be out done I add the seam builder to my .project file manually. BOOM! All my Seam Beans now appear in the Seam Component view and auto complete in my EL expressions now shows my Seam beans. OK, making progress.
But, I don't get any of the features that I was hoping to get. Thinks like finding all usages of a method in my xhtml.
Anyway, I've had my rant. I'm frustrated. Why is it so easy for developers using InteliJ to just tell the facet here is the web.xml, here is the faces-config.xml and it just works for them. WHY does eclipse / jboss tools/ whatever other plugin jboss tools relies go bananas if I don't have my project set out like it wants it.
Has anyone had success in getting all the features of jboss tools to work on a project where the layout is not 'standard'.