Maven issues

Maven is a handy tool to control your project. It allows you to build your system, handles the version control, runs your test scripts, does control the dependencies related to the project,... Many more plugins allow you to control your project fully as a project manager and as a developer.

This tool is used by Yttrium. Sadly there is a minor issue. Luckily it is easily fixed ;-)

Sun's libraries

This Yttrium project is dependant of several libraries. Some of these are provided by Sun Microsystems like the JavaMail, or the Transaction package. Sadly these jars are not present in iBiblio's central repository resulting in a broken build. Most of Sun's artifacts fall under Sun's Binary License which disallows the Maven team to add them to the Ibiblio repository.

Work is in progress (legal work that is) to allow these jars to be added to the iBiblio repository. Until then, follow these guidelines:

If when building you'll see something like:

Missing:
----------
1) javax.transaction:jta:jar:1.0.1B

  Try downloading the file manually from:
      http://java.sun.com/products/jta

  Then, install it using the command:
      mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta \
          -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file

  Path to dependency:
        1) be.yttrium:yttrium:war:0.4.0-SNAPSHOT
        2) org.hibernate:hibernate:jar:3.1rc3
        3) javax.transaction:jta:jar:1.0.1B

There are two solutions:

  1. Download the jar file form the web - Sun is not a very good site to find it: the repository needs a jar not a zip! Google will help. Note that the hibernate package does contain the jta.jar.

    Then run this script:

     mvn install:install-file -DgroupId=javax.transaction \
                              -DartifactId=jta \
                              -Dversion=1.0.1B \
                              -Dpackaging=jar \
                              -Dfile=/path/to/the/downloaded/file

    See here and here for more information.

  2. You can also avoid this issue all together by including either the jboss-j2ee or the geronimo transaction as a dependency in the pom. Both of these packages contain the jta classes.