So I have to specify the dependencies twice? First time in the 
parent/pom.xml and second time in rar/pom.xml (there using 
<scope>provided</scope>? I have to play with this, because some of the 
dependencies are internal jars from other subprojects.

As far as I can see, a workaround is to specifiy all dependencies for the rar-
modules with <scope>provided</scope> and add them a second time to the 
ear pom.

Wouldn't it be nice to have some option? Or wouldn't it be enough to say if 
I specify manifest classpath entries, I can leave out the dependencies from 
the rar archive?

Modules: I use bundelFileName there.

On 31 May 2006 at 12:05, Tim Kettler wrote:

> Can't you do it like this:
> 
> project
> |--pom.xml
> |
> `--parent
> |  |--pom.xml
> |
> `--rar
> |  |--pom.xml
> |
> `--ear
> |  |--pom.xml
> 
> parent/pom.xml:
> ---------------------------------------
> <project>
> <modelVersion>4.0.0</modelVersion>
>       
> <groupId>test</groupId>
> <artifactId>test-parent</artifactId>
> <version>1.0-SNAPSHOT</version>
>       
> <packaging>pom</packaging>
> 
> <name>Parent</name>
>       
> <dependencyManagement>
>    <dependencies>
>      <dependency>
>        <groupId>axis</groupId>
>        <artifactId>axis</artifactId>
>        <version>1.1</version>
>      </dependency>
>    </dependencies>
> </dependencyManagement>
> 
> </project>
> ---------------------------------------
> 
> ear/pom.xml:
> ---------------------------------------
> <project>
> 
>    <modelVersion>4.0.0</modelVersion>
> 
>    <parent>
>      <groupId>test</groupId>
>      <artifactId>test-parent</artifactId>
>      <version>1.0-SNAPSHOT</version>
>      <relativePath>../parent</relativePath>
>    </parent>
> 
>    <groupId>de.foo</groupId>
>    <artifactId>bar-ear</artifactId>
>    <version>1.0</version>
>    <name>Foo::Bar EAR</name>
>    <packaging>ear</packaging>
>    <build>
>      <plugins>
>        <plugin>
>          <artifactId>maven-ear-plugin</artifactId>
>          <configuration>
>            <defaultJavaBundleDir>APP-INF/lib</defaultJavaBundleDir>
>          </configuration>
>        </plugin>
>      </plugins>
>    </build>
> 
>    <dependencies>
>      <dependency>
>        <groupId>de.foo</groupId>
>        <artifactId>bar-connector</artifactId>
>        <version>1.0</version>
>        <type>rar</type>
>      </dependency>
>      <dependency>
>        <groupId>axis</groupId>
>        <artifactId>axis</artifactId>
>      </dependency>
>    </dependencies>
> </project>
> ---------------------------------------
> 
> rar/pom.xml:
> ---------------------------------------
> <project
> 
>    <modelVersion>4.0.0</modelVersion>
>       
>    <parent>
>       <groupId>test</groupId>
>      <artifactId>test-parent</artifactId>
>      <version>1.0-SNAPSHOT</version>
>      <relativePath>../parent</relativePath>
>    </parent>
> 
>    <groupId>de.foo</groupId>
>    <artifactId>bar-connector</artifactId>
>    <version>1.0</version>
> 
>    <name>Foo::Bar Rar</name>
>    <packaging>rar</packaging>
> 
>    <build>
>    </build>
>    <dependencies>
>      <dependency>
>        <groupId>axis</groupId>
>        <artifactId>axis</artifactId>
>        <scope>provided</scope>
>      </dependency>
>    </dependencies>
> </project>
> ---------------------------------------
> 
> Of course you don't need a distinct parent and aggregation pom 
> (project/pom.xml). You can 
> just merge the two and use the project level pom as the parent.
> 
> BTW, you don't need to specify this:
> 
> <modules>
>    <rarModule>
>      <groupId>test</groupId>
>      <artifactId>test-ejb</artifactId>
>    </rarModule>
> </modules>
> 
> This section is used only if you need to configure the way the module is 
> handled by the 
> plugin like specifying the bundleFileName.
> 
> -Tim
> 
> Carsten Karkola schrieb:
> > No, I need the jar in the ear, my example - just to make clear what I try 
> > to 
> > describe :-):
> > 
> > $>mkdir -p rar/src/main/rar/META-INF
> > $>touch rar/src/main/rar/META-INF/ra.xml
> > $>touch rar/pom.xml
> > $>mkdir -p ear
> > $>touch ear/pom.xml
> > 
> > ear/pom.xml:
> > <?xml version="1.0" encoding="iso-8859-1"?>
> > <project
> >   xmlns="http://maven.apache.org/POM/4.0.0";
> >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> > http://maven.apache.org/maven-v4_0_0.xsd";>
> > 
> >   <modelVersion>4.0.0</modelVersion>
> >   <groupId>de.foo</groupId>
> >   <artifactId>bar-ear</artifactId>
> >   <version>1.0</version>
> >   <name>Foo::Bar EAR</name>
> >   <packaging>ear</packaging>
> >   <build>
> >     <plugins>
> >       <plugin>
> >         <artifactId>maven-ear-plugin</artifactId>
> >         <configuration>
> >           <defaultJavaBundleDir>APP-INF/lib</defaultJavaBundleDir>
> >           <modules>
> >             <rarModule>
> >               <groupId>de.foo</groupId>
> >               <artifactId>bar-connector</artifactId>
> >             </rarModule>
> >           </modules>
> >         </configuration>
> >       </plugin>
> >     </plugins>
> >   </build>
> >   <dependencies>
> >     <dependency>
> >       <groupId>de.foo</groupId>
> >       <artifactId>bar-connector</artifactId>
> >       <version>1.0</version>
> >       <type>rar</type>
> >     </dependency>
> >   </dependencies>
> > </project>
> > 
> > rar/pom.xml:
> > <?xml version="1.0" encoding="iso-8859-1"?>
> > <project
> >   xmlns="http://maven.apache.org/POM/4.0.0";
> >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> > http://maven.apache.org/maven-v4_0_0.xsd";>
> > 
> >   <modelVersion>4.0.0</modelVersion>
> >   <groupId>de.foo</groupId>
> >   <artifactId>bar-connector</artifactId>
> >   <version>1.0</version>
> >   <name>Foo::Bar Rar</name>
> >   <packaging>rar</packaging>
> >   <build>
> >   </build>
> >   <dependencies>
> >     <dependency>
> >       <groupId>axis</groupId>
> >       <artifactId>axis</artifactId>
> >       <version>1.1</version>
> >       <scope>provided</scope>
> >     </dependency>
> >   </dependencies>
> > </project>
> > 
> > At least the build:
> > $>cd rar
> > $>mvn clean install
> > $>cd ../ear
> > $>mvn package
> > 
> > The problem:
> > If I have <scope>provided</scope>, axis is missing in the rar and in the 
> > ear.
> > If I remove this line, Im ending up with axis in APP-INF/lib and inside the 
> > rar.
> > 
> > How can I avoid this; I'd like to exclude the axis.jar only from the rar 
> > not from 
> > the ear, background: I have a lot of rars with some more dependencies, that 
> > are shared in all the rars, I'd like to deploy these dependencies only once 
> > in 
> > APP-INF/lib not in every rar and in APP-INF/lib.
> > 
> > regards, carsten
> > 
> > 
> > On 30 May 2006 at 18:19, Roland Asmann wrote:
> > 
> >> Set the scope to provided ONLY on the rar-projects, NOT on the EAR.
> >>
> >>
> >>
> >> On Tuesday 30 May 2006 18:02, Carsten Karkola wrote:
> >>> If I use "provided" the dependencies will never be included, my problem is
> >>> 1. projects:
> >>>   rar1: dependency to my-jar
> >>>   rar2: dependency to my-jar
> >>>   ejb1: dependency to my-jar
> >>>   ear: dependency to rar1, rar2
> >>> 2. inside the ear:
> >>>     ejb1.jar
> >>>     rar1.rar
> >>>     rar2.rar
> >>>     lib/my-jar.jar
> >>> 3. This works fine for packaging=ejb - the my-jar.jar gets copied to the
> >>> lib dir during build of the ear. But the same jar gets also packaged in 
> >>> the
> >>> rar1 and in the rar2 archive. So I have it three times instead only having
> >>> the entries in MANFIFEST.MF/Class-Path and the jar only once in the lib
> >>> subdir.
> >>> The Manifest entries are not the problem, to get the jar not packaged in
> >>> the rars is my problem.
> >>>
> >>> regards, carsten
> >>>
> >>> On 30 May 2006 at 10:24, Wayne Fay wrote:
> >>>> I can't tell if you're running M2 or M1...
> >>>>
> >>>> But in M2, to exclude a dependency from being included in a package,
> >>>> we use the <scope>provided</scope> tag to override the default
> >>>> "compile" scope. Provided tells the packager that this
> >>>> dependency/artifact/library will be provided by the app server etc,
> >>>> and so it does not need to be included in the archive/package.
> >>>>
> >>>> Wayne
> >>>>
> >>>> On 5/30/06, Carsten Karkola <[EMAIL PROTECTED]> wrote:
> >>>>> Hallo,
> >>>>>
> >>>>> I have some subprojects with <packaging>rar</packaging> specified.
> >>>>> There are some dependencies specified, that need to be included in the
> >>>>> ear. I'd like to include these dependencies (like axis) only once in
> >>>>> the ear and not in every rar archive.
> >>>>> This way works fine with ejb archives. But with rar archives I get
> >>>>> these depend jars always included in the rar itself.
> >>>>> <includeJar>false</includeJar> doesn't help.
> >>>>>
> >>>>> regards, carsten
> >>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to