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]