2 Replies Latest reply on Dec 15, 2005 2:50 PM by jbeausoleil

    Proper Packaging - Conflicting Information

    jbeausoleil

      Hello,

      I have a Java Web Start app running on JBoss 4.0.3sp1. This is a new application and I am working on getting the infrastructure nailed (and this includes packaging) before we start pumping in application specific functionality.

      Here is my current layout:

      application.ear contains:

      META-INF\application.xml
      META-INF\MANIFEST.MF
      application.war

      (we will be using EJBs so we do need the ear).

      application.war contains:
      META-INF\MANIFEST.MF
      WEB-INF\jboss-web.xml
      WEB-INF\web.xml
      WEB-INF\lib\jnlp-servlet.jar
      WEB-INF\lib\application-servlet.jar
      application.jar
      supporting.jar
      index.html
      application.jnlp
      common.jar
      utilities.jar
      tenmorejars.jar
      etc.....

      The application works great except for the application specific servlet that I have in the WEB-INF\lib directory. I can get a connection to the servlet from my web start, swing application, but the servlet needs to have knowledge of some shared or common objects that are in the application.jar (see layout above).

      I have read so many conflicting posts about where home grown servlets should go. I have read in the WEB-INF\lib folder, I have read in the WEB-INF\classes folder (I couldn't get this to work). I also read that my application should be unpackaged and the loose classes should go into the WEB-INF\classes directory so that the servlet in the lib directory can find them. I find this last one unacceptable. I have a web start application and the last thing I want to do is start listing all my classes as individual resources in the jnlp file. This is a huge app and there will be 100s of classes.

      To reiterate.. Did I put the application servlet jar in the correct place? This servlet is responsible for doing DB I/O, and if it is in the right place, how do I go about having the servlet know about other application related shared objects wihout going back to the dark ages of using loose classes in the classes folder? If that even works. I like my packaging scheme, I am hoping I just need to jockey some jars around a little.

      Thanks in advance for any input.