Warning | ||
---|---|---|
| ||
The information on this page is no longer accurate, as lcsim-based projects have switched to using maven 2. While there are currently no equivalent instructions for maven 2, please refer to the lcsim-contrib project |
Creating a Maven Project that Depends on org.lcsim
Overview
This tutorial shows how to create a Maven-based project that depends on org.lcsim, so that your code can seemlessly access this framework and all of its dependencies.
The Maven tool is used to build the org.lcsim software. It automates most of the low-level details of involving dependencies and building for Java projectscompiling. For instance, it can automatically download external JARs required by your project required jar files based on a repository URL. Additionally, it can build a complete project website including source code metrics, cross-reference, and JavaDocs.
This tutorial shows how to create a Maven project that depends on org.lcsim, so that your code can seemlessly access this framework and all of its dependencies.
Tip | ||
---|---|---|
| ||
It is always a good idea to store your projects in a source control system, such as CVS. Contact your local system administrator for instructions on setting up a module for your project. |
Example Maven Project
If you want to get started quickly without worrying about the details, the SLAC CVS contains a sample Maven project called ExampleMavenProject that can be checked-out with this command.
No Format |
---|
cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co ExampleMavenProject
|
This project is "ready to go" and can be used as a template.
To build the example project from the command-line, assuming there is an sh shell available, e.g. on Linux, Cygwin, etc.
No Format |
---|
cd ExampleMavenProject
./build.sh
|
Or you can use Maven directly.
No Format |
---|
maven -Drun.install=$(pwd) -Dmaven.test.skip=true clean jar:install jas:install run:install
|
Now, test it by running the automatically generated script.
No Format |
---|
./bin/ExampleMavenProject
|
It should print this message.
Now you are ready to experiment with your own Maven project. Any Java code placed into src or test should be able to access all the classes of the org.lcsim framework and its dependencies.
...
your |
...
project |
...
. |
Directory Setup
Create a directory for your new project and go into it.
...
No Format |
---|
mkdir -p test/org/lcsim |
Build Files
The project's root directory should contain three Maven configuration files.
...
The org.lcsim JAR is not currently maintained as a downloadable dependency. Each project user needs to compile and build this program themselves in order to install it to the local repository.
Basic Build Command
The project can be built from the command line with this simple command.
...
Alternately, you can use the Netbeans IDE to build your Maven-based projects.
Run Plugin
The FreeHep Run Plugin can generate a run script for your project.
...
The command line syntax of the script is completely up to you.
JAS
JAS3 can be configured to automatically load your project's classes on startup.
...
The class should now be available using the File -> Load command within JAS3.
Build Script
A full build command for your project, incorporating all of the above features, would look something like this.
...