This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

J2EE Project Structure and IntelliJ

 
Will Farquharson
Greenhorn
Posts: 20
IntelliJ IDE Java Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I'm setting up a new J2EE project using IntelliJ IDEA 10.5, and I want to follow the guidelines for a proper project structure. I have created the complete directory structure shown at the top here:
http://java.sun.com/blueprints/code/projectconventions.html

I'm having a lot of difficulty working out what artifacts I need IntelliJ to create and which ones to deploy to Glassfish.

I'm given the choice of artifacts "JavaEE Application", "Web Application", "EJB Application".

At first, I thought I'd just need a "JavaEE Application" artifact to represent "myapp1" in that diagram. This points to an application.xml file in myapp1/myapp1-ejb/src/java/META-INF/application.xml. However, IntelliJ complains that the web resources aren't included in this artifact, and I'm not sure how to point the application.xml to the war (myapp1-war) as I prefer everything to be exploded so there isn't a war file to put inside <web-uri></web-uri>.

So, I created another artifact, this time a "Web Application" one, and pointed that to "myapp1-war". It them seems I can include this web artifact inside the JavaEE Application one. Still, I can't get any of this to deploy to Glassfish... it just throws an exception saying there were no valid components in the application.

Could someone perhaps advise me with how resolve the above, or maybe share with me how their project is set up, or better yet, provide me with an IntelliJ project that's already set up for me to examine?

I always find setting up projects and getting things to build/deploy a million times more difficult than actual coding... so thanks for any advice you can give.

Will

EDIT: I found this:
http://wiki.jetbrains.net/intellij/Developing_applications_for_GlassFish_Server_in_IntelliJ_IDEA#Creating_a_new_project
...but this project doesn't have the recommended structure from the link further above, doesn't have a place for EJBs, and thus only uses a Web Application artifact. What I need to do is similar to this, except for a J2EE Application that will have EJBs.
 
Campbell Ritchie
Sheriff
Pie
Posts: 47259
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think this discussion would sit better on our IDEs forum. Moving.
 
Tim Holloway
Saloon Keeper
Pie
Posts: 17622
39
Android Eclipse IDE Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Exploded WARS are not J2EE-standard. Any properly-designed webapp project should be capable of producing a WAR file. ANY J2EE server can (MUST) accept a WAR file.

Having said that, however, WAR files are typically produced by assembling all the components in a work directory and ZIPPING (or "jar"ing) them up. That directory often remains, and it is an exploded WAR, since an exploded WAR is nothing more than an unzipped WAR.

I take advantage of that in Eclipse by setting up application contexts that use that work directory as the context codebase. I don't do that because I love exploded WARs so much as I do because it says a small but useful amount of time not to actually ZIP up the WAR for testing.

As far as I know, IntelliJ can be made to function the same way, particularly since I'm doing a lot of the work by invoking Maven, and it doesn't care what IDE you have.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic