Project structure
mabba/
pom.xml
+-/mabba.core #scala
pom.xml
+-/mabba.http #java
pom.xml
Root pom, just a normal pom:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.amadan.mabba</groupId>
<artifactId>mabba-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>mabba</name>
<description>
HTTP Table Service
</description>
<modules>
<module>mabba.core</module>
<module>mabba.http</module>
</modules>
<repositories>
<repository>
<id>spy</id>
<name>Spy Repository</name>
<layout>default</layout>
<url>http://files.couchbase.com/maven2/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>guice-maven</id>
<name>guice-maven</name>
<layout>default</layout>
<url>http://guice-maven.googlecode.com/svn/trunk</url>
</repository>
<repository>
<id>repo2.maven.org</id>
<name>repo2.maven.org</name>
<layout>default</layout>
<url>http://repo2.maven.org/maven2/</url>
</repository>
<repository>
<id>Sun Repo</id>
<name>Sun Repo</name>
<layout>default</layout>
<url>http://download.java.net/maven/2/</url>
</repository>
<repository>
<id>Twitter Public Repo</id>
<name>Twitter Public Repo</name>
<layout>default</layout>
<url>http://maven.twttr.com</url>
</repository>
</repositories>
<pluginRepositories>
</pluginRepositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<commonsCodec.version>1.4</commonsCodec.version>
<commonsCollections.version>3.2.1</commonsCollections.version>
<commonsIO.version>2.0.1</commonsIO.version>
<commonsLang.version>2.3</commonsLang.version>
<hamcrest.version>1.1</hamcrest.version>
<guava.version>11.0.2</guava.version>
<guice.version>3.0</guice.version>
<guiceAI.version>2.0</guiceAI.version>
<jackson.version>1.9.0</jackson.version>
<jersey.version>1.9.1</jersey.version>
<jersey.18.version>1.8</jersey.18.version>
<jetty.version>8.1.1.v20120215</jetty.version>
<joda.version>2.0</joda.version>
<junit.version>4.10</junit.version>
<log4j.version>1.2.14</log4j.version>
<metrics.version>2.0.3</metrics.version>
<mockito.version>1.9.0</mockito.version>
<netty.version>3.2.4.Final</netty.version>
<protobuf.version>2.1.0</protobuf.version>
<servlets.version>3.0.1</servlets.version>
<slf4j.version>1.6.4</slf4j.version>
<snakeyaml.version>1.10</snakeyaml.version>
<spyMemcached.version>2.6</spyMemcached.version>
<jsr311.version>1.1.1</jsr311.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>
</project>
Project pom: scala project:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>mabba-parent</artifactId>
<groupId>net.amadan.mabba</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>net.amadan.mabba</groupId>
<artifactId>mabba.core</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>mabba.core</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.9.1</version>
</dependency>
</dependencies>
</project>
Project pom: java, depends on scala pom:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>mabba-parent</artifactId>
<groupId>net.amadan.mabba</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>net.amadan.mabba</groupId>
<artifactId>mabba.http</artifactId>
<version>1.0-SNAPSHOT</version>
<name>mabba.http</name>
<packaging>war</packaging>
<build>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>net.amadan.mabba</groupId>
<artifactId>mabba.core</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
Compile and test should now pick up scala and java. You might want to run with -U the first time
mvn -U compile