Hi Mike,
For 1, I have put jar dependency as default (compile) and option = true.
Manifest.mf is generated fine. But please validate if this is fine.
For 2, I have use ANT - my POM has something like this
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>COPYMANIFEST</id>
<phase>package</phase>
<configuration>
<tasks>
<unzip src="${basedir}/target/${project.name}-${project.version}.jar"
dest="${basedir}/ejbModule">
<patternset>
<include name="**/META-INF/MANIFEST.MF" />
</patternset>
</unzip>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
This copies my generated MANIFEST.MF into the ejbModule/META-INF folder.
Any feedback or comments?
I guess for 3 also I can use Ant task to extract jars from the EAR into EAR
project. But will wait for your feedback.
I will still need help from you on 3, 4 and 5.
It will be really helpfull if you can share your projects POM.
Thanks,
Sanjay
On 1/21/06, Sanjay Choudhary <[EMAIL PROTECTED]> wrote:
>
> Hi Mike,
>
> Thanks a lot.
>
> Currently, I am trying to make our existing application to use Maven 2,
> both in build and development env. Great that you have already done so.
> Please help me by answering some more questions below :-
>
> 1. I downloaded the new version for WAR plug in. Build and used it. My
> question is , In your WAR project, what is the scope of the dependencies for
> jar that are present at the EAR level? For example, log4j If I give
> default (ie. compile) manifest is created correctly in WebContent/META-INF/
> but at the same time in the .War file we have all the dependent jars bundled
> in the lib folder. This is causing the same sets of JARs to be in 2 places,
> once bundled in EAR and second time in the lib folder in the WAR. Is there
> a way to avoid this? If you can share your Parent POM, JAR POM, WAR POM and
> EJB POM , it will be easy to understand the structure.
>
> 2. Is there a manifest goal for EJB plugin? Since EJB's projects are
> modules, at the package phase we need to create Manifest.mf too. Do have
> suggestions for this?
>
> 3. Regards to copying of jars defined as dependencies in pom.xml in the
> EAR project, you mentioned that some builder is available. Pls. let me know
> from where I can download this. I googled for a while but in vain. Or Is it
> possible to share the plugin written by you?
>
> 4. In eclipse plugin you defined disableWTP true? What does this do?
>
> 5. As you know Eclipse plugin configuration values differ in project
> types. JAR , WAR and EJB's. How do you manage your plugin definitions in
> POMs'? Do you have a parent POM and one sub POM for each project type or
> someother strategy? Please advice. Again, If you can share your Parent POM,
> JAR POM, WAR POM and EJB POM , it will be easy to understand the structure.
>
> Thanks for all the help and great work you have done in integrating Maven
> with RAD6. I am sure lot of people will benefit from you.
>
> Thanks,
> Sanjay
>
>
>
>
>
>
>
>
> On 1/21/06, Mike Perham <[EMAIL PROTECTED] > wrote:
> >
> > You don't say if you are using M1 or M2.
> >
> > For M2, we did the following to get things working with RSA6:
> >
> > WAR plugin config:
> >
> > <plugin>
> > <groupId>org.apache.maven.plugins</groupId>
> > <artifactId>maven-war-plugin</artifactId>
> > <version>2.0-beta-3-SNAPSHOT</version>
> > <configuration>
> >
> > <warSourceDirectory>WebContent</warSourceDirectory>
> >
> > <warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
> > <archive>
> > <manifest>
> > <addClasspath>true</addClasspath>
> > <classpathPrefix>lib/</classpathPrefix>
> > </manifest>
> > </archive>
> > </configuration>
> > <executions>
> > <execution>
> > <phase>package</phase>
> > <goals>
> > <goal>manifest</goal>
> > </goals>
> > <inherited>true</inherited>
> > </execution>
> > </executions>
> > </plugin>
> >
> > - The war:manifest goal updates WebContent/META-INF/MANIFEST.MF on every
> >
> > build. It is in SVN but not in the latest released version.
> > - Notice the jars are excluded from WEB-INF/lib when built. This is
> > because they are all packaged in the ear so 4 wars don't cause 4x the
> > JAR bloat.
> >
> > EAR plugin config:
> >
> > <plugin>
> > <groupId>org.apache.maven.plugins</groupId>
> > <artifactId>maven-ear-plugin</artifactId>
> > <!--
> > Webify customized EAR plugin to handle
> > RSA-specific stuff
> > like copying jars to lib/.
> > -->
> > <version> 2.1-20051209.230525-1</version>
> > <configuration>
> >
> > <defaultJavaBundleDir>lib/</defaultJavaBundleDir>
> >
> > <earSourceDirectory>${basedir}</earSourceDirectory>
> >
> > <earSourceIncludes>META-INF/**</earSourceIncludes>
> > </configuration>
> > </plugin>
> >
> > In your EAR POM dependencies, you need to duplicate the list of all WAR
> > dependencies so that they can be packaged in the ear itself. It so
> > happens that transitive dependencies make this list a lot shorter since
> > you just list the top-level dependencies.
> >
> > I think there are plugins (build-helper?) which can copy dependencies to
> >
> > an arbitrary location now so the lib/ copy customization I did may not
> > be required. It would be nice to get this working with stock plugins.
> >
> > Finally the Eclipse plugin configuration:
> >
> > <plugin>
> > <groupId>org.apache.maven.plugins</groupId>
> > <artifactId>maven-eclipse-plugin</artifactId>
> > <!--
> > Custom version to fix this:
> > http://jira.codehaus.org/browse/MNG-1724
> > -->
> > <version>2.1-20051216.210030-1</version>
> > <configuration>
> > <outputDirectory>bin</outputDirectory>
> > <disableWtp>true</disableWtp>
> > <classpathContainers>
> >
> > <container>org.eclipse.jdt.launching.JRE_CONTAINER</container>
> > </classpathContainers>
> > </configuration>
> > </plugin>
> >
> > It's still not perfect - we'd like to get the generated EAR copied to
> > our Rapid Deployment directory for quicker development turnaround. As
> > is today, we still have to start and stop the container on every change.
> >
> > Hope this helps.
> >
> > -----Original Message-----
> > From: Sanjay Choudhary [mailto:[EMAIL PROTECTED] ]
> > Sent: Friday, January 20, 2006 8:53 PM
> > To: Maven Users List
> > Subject: Best Practice - Maven with WSAD or RAD6
> >
> > I am able to build my projects and EAR in both WSAD and RAD6. Now
> > problem I face is in third party jars.
> >
> > in RAD6/WSAD project structure is like this
> >
> > EAR Project
> > contains application.xml for EAR
> > contains all third party JAR required by application
> >
> > JAR project
> >
> > EJB Project
> >
> > WAR Project
> > contains JSPs
> > contains third party JARs like struts etc in the LIB folder
> >
> > Now when I used Maven in my development environment, I moved all the
> > third party JARS to maven repository and changed the dependencies
> > accordingly. My java project, ejb projects and war project compiled
> > fine. I am able to create EAR too.
> >
> > Now when I want to run/debug my application on built in Websphere
> > application server, server complains about the third party JARs.
> > Initially, I thought of adding all the third party jars in server
> > classpath - but this is not a good idea. Shall I explode my EAR into
> > EAR project, so that I will have all the third party jars there. Is
> > there someother best practice that I
> > can follow? I am sure someone may have resolved this issue, (maven is
> > around for long).
> >
> > Please advice.
> >
> > Thanks,
> > Sanjay
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>