...
The Maven tool is used to build the org.lcsim software. It automates the low-level details involving dependencies and compiling. For instance, it can automatically download required jar files based on a repository URL. Additionally, it can build a complete project website including source code metrics, cross-reference, and JavaDocs.
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.
No Format |
---|
ExampleMavenProject - Hello world!
|
Now you can add Java into src or test. Classes placed here should be able to access the org.lcsim framework and its dependencies. Simply rerun the above build command to compile the new classes.
To use ExampleMavenProject as a template for your own new project, replace the "ExampleMavenProject" string with the actual name of your own project in project.xml.
The remainder of this tutorial shows how to create a Maven/org.lcsim project from scratch, in case you are wondering about the details.
Creation from Scratch
This section contains instructions for creating the Maven-based project from scratch using only the org.lcsim CVS module.
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. |
...