Wednesday, December 30, 2009

Building Quartz from Source











Building Quartz from Source


The Quartz download includes the source code as well as a deployable JAR file. One of the benefits of having the source code is that you can look inside and figure out how it does what it does. The source is included as a convenience for developers who want to take a peek inside. It's also necessary if you want to step through the code in an IDE such as Eclipse.



The Quartz CVS Repository


The CVS repository for the Quartz project, along with the other OpenSymphony projects, is hosted on Java.net. To download anything from the CVS repository, you must have an account. You can view the source tree anonymously from xwork.dev.java.net/source/browse/quartz, but you need an account to download the entire tree.




Creating a Java.net Account


You can create a free Java.net account by signing up at www.dev.java.net/servlets/Join. Besides getting access to the Quartz CVS repository, you can find plenty of good information and tips available on the site (see www.java.net).




After you have created your account, you can download the necessary files to build Quartz. To do this, open a command prompt in a directory where you want to put the projects. The download creates two subdirectories in the directory where you run the command: quartz and opensymphony.


From the command prompt, type


cvs -d :pserver:[username]@cvs.dev.java.net:/cvs login
cvs -d :pserver:[username]@cvs.dev.java.net:/cvs checkout
quartz

and

cvs -d :pserver:[username]@cvs.dev.java.net:/
cvs checkout opensymphony


Substitute your account name (without the brackets) in the username field.


After you have downloaded the two modules, change the directory to the quartz module and type this:


ant -projecthelp


This gives you a list of targets with descriptions. The default target for the Quartz build file is jar; you can just type ant from the command line, and it will build a deployable Quartz JAR.




Building from Source in an IDE


It's worth pointing out that several of the Quartz packages are dependent on third-party products such as JBoss and WebLogic. When building from source using the Ant build file, these necessary flags are set to ignore attempts to build these components. If you include the entire source from Quartz in your development environment and you don't have these third-party products in your environment, you will get compile errors. The easiest way around this is to not include these Quartz source files in your environment. Fortunately, the Quartz source hierarchy is structured so that you can choose not to include these at a directory/package level.















No comments: