Best practice says that Java files should be stored in Jars which are
then depended upon by Wars. Then you can share classes (via
dependencies) all day long.

Wayne

On 3/20/08, Julien Graglia <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have a war named "WarA" with a class a.b.c.Parent.
> And another war named "WarB" with a class Child
> Child depends on Parent
>
> with Q4Eclipse, the project WarB compile fine.
>
> from console, it fails : mvn clean compile :
> [ERROR] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Compilation failure
>
> could not parse error message: [parsing started
> /opt/nc/workspace-iv4/warB/src/main/java/Child.java]
> [parsing completed 24ms]
> [search path for source files: /opt/nc/workspace-iv4/warB/target/classes,.]
> [search path for class files:
> /usr/local/jdk1.6.0_03/jre/lib/resources.jar,/usr/local/jdk1.6.0_03/jre/lib/rt.jar,/usr/local/jdk1.6.0_03/jre/lib/sunrsasign.jar,/usr/local/jdk1.6.0_03/jre/lib/jsse.jar,/usr/local/jdk1.6.0_03/jre/lib/jce.jar,/usr/local/jdk1.6.0_03/jre/lib/charsets.jar,/usr/local/jdk1.6.0_03/jre/classes,/usr/local/jdk1.6.0_03/jre/lib/ext/jcl.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/comm.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/dnsns.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/sunjce_provider.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/nc.boot.util.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/localedata.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/sunpkcs11.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/nc.boot.applet.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/nc.boot.app.jar,/usr/local/jdk1.6.0_03/jre/lib/ext/jline.jar,/opt/nc/workspace-iv4/warB/target/classes,.]
> /opt/nc/workspace-iv4/warB/src/main/java/Child.java:1: package a.b.c
> does not exist
> import a.b.c.Parent;
>
> (Note : The "clean" phase is important because maven use incremental
> compilation and will not try to recompile classes.)
>
> I have already successfully used a war dependancy to add some .css or
> .xml. Here I try to use a class from another war.
>
> Here are the poms:
>
> War A :
> <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>warA</groupId>
>  <artifactId>warA</artifactId>
>  <packaging>war</packaging>
>  <version>1.0-SNAPSHOT</version>
>  <name>warA Maven Webapp</name>
>  <url>http://maven.apache.org</url>
>  <dependencies>
>    <dependency>
>      <groupId>junit</groupId>
>      <artifactId>junit</artifactId>
>      <version>4.4</version>
>      <scope>test</scope>
>    </dependency>
>  </dependencies>
>  <build>
>    <finalName>warA</finalName>
>  </build>
> </project>
>
> War B :
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
>    <modelVersion>4.0.0</modelVersion>
>    <groupId>warB</groupId>
>    <artifactId>warB</artifactId>
>    <packaging>war</packaging>
>    <name>warB Maven Webapp</name>
>    <version>1.0-SNAPSHOT</version>
>    <url>http://maven.apache.org</url>
>    <dependencies>
>        <dependency>
>            <groupId>junit</groupId>
>            <artifactId>junit</artifactId>
>            <version>4.4</version>
>            <scope>test</scope>
>        </dependency>
>        <dependency>
>            <groupId>warA</groupId>
>            <artifactId>warA</artifactId>
>            <version>1.0-SNAPSHOT</version>
>            <type>war</type>
>        </dependency>
>    </dependencies>
>    <build>
>        <finalName>warB</finalName>
>    </build>
> </project>
>
> Quite simple, no?
>            the "<type>war</type>" in WarB doesn't seems to work..
>
> Do you have an idea?
>
> Thx!
>
> --
> Julien Graglia
>
>
>
> ---------------------------------------------------------------------
> 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