Building dcm4chee
Build Requirements
In order to build the components of the dcm4chee archive application you will need to download and install:
- Ant http://ant.apache.org/ (Get the latest version.)
- XDoclet http://xdoclet.sourceforge.net/ (Get the latest version. Currently 1.2.3)
- Apache FOP 0.95 http://xmlgraphics.apache.org/fop/ (Get 0.95. Do not use 0.95 beta or 1.0+)
- Jakarta Cactus 1.8.1 http://archive.apache.org/dist/jakarta/cactus/binaries/ (Retired at 1.8.1. Only needed to build the test suite for dcm4jboss-ejb, not needed to build the application.)
- JSch 0.1.49 http://sourceforge.net/projects/jsch/files
- jCIFS 1.3.17Â http://jcifs.samba.org/src
- Castor SDK 1.3.1 (This is a commercial library that was introduced as a dependency in 2.18.0, see DCMEE-1920)
- JBoss 4.2.3 GA http://jbossas.jboss.org/downloads.html (Get 4.2.3 GA. If you use JDK 6, it is OK to use jboss-4.2.3.GA-jdk6. Do not use any other versions.)
- Maven http://maven.apache.org/ (Get the latest version.)
In addition, you'll need the dcm4chee source code. In order to create the dcm4chee source directories, check out dcm4jboss-all from SVN:
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4che14/trunk dcm4che14 svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arr/trunk dcm4chee-arr svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-audit/trunk dcm4chee-audit svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-docstore/tags/DCM4CHEE_XDS_1_0_3 dcm4chee-docstore svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-xds-infoset/tags/DCM4CHEE_XDS_1_0_3 dcm4chee-xds-infoset svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arc3-entities/trunk dcm4chee-arc3-entities svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-icons/trunk dcm4chee-icons svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-web-common/trunk dcm4chee-web-common svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-dashboard/trunk dcm4chee-dashboard svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-usr/trunk dcm4chee-usr svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-cleanup/trunk dcm4chee-cleanup svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-web/trunk dcm4chee-web svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arc/trunk dcm4jboss-all
Following instructions are for building binary distribution package for your appropriate database. Replace <database> string by your database name.
Supported <database> arguments:
db2, firebird, hsql, mssql, mysql, oracle, psql
Build Dcm4che14
cd to the dcm4che14 checkout directory
ant
Note: It works with Java 6 and lower only. It doesn't work with Java 7 - for details see http://www.dcm4che.org/jira/browse/DCMOLD-219.
Build Dcm4chee-arr
cd to the dcm4chee-arr checkout directory
mvn install -Ddb=<database>
Build Dcm4chee-audit
cd to the dcm4chee-audit checkout directory
mvn install
Build Dcm4chee-docstore
cd to the dcm4chee-docstore checkout directory
mvn install
Build Dcm4chee-xds-infoset
cd to the dcm4chee-xds-infoset checkout directory
mvn install
Build Dcm4chee-web
(You will need to have 5 following checked out projects at the same folder level like dcm4chee-web: dcm4chee-arc3-entities, dcm4chee-icons, dcm4chee-web-common, dcm4chee-dashboard, dcm4chee-usr.)
cd to the dcm4chee-web checkout directory
mvn -Pall -Ddb=<database> install
Build Instructions
Create an environment variable pointing to the Ant home directory (ANT_HOME
) and add the $ANT_HOME/bin directory
to your PATH
.
The build scripts dcm4jboss-all/dcm4jboss-xxx/build.xml
assumes following locations of XDoclet, JBoss, Apache FOP, Jakarta Cactus and dcm4che14 (but check for updated version numbers):
xdoclet.home=${user.home}/xdoclet-1.2.3
jboss.home=${user.home}/jboss-4.2.3.GA
fop.home=${user.home}/fop-0.95
cactus.home=${user.home}/cactus-1.8.1-bin
jsch.home=${user.home}/jsch-0.1.49
jcifs.home=${user.home}/jcifs-1.3.17
castor.home=${user.home}/castor-1.3.1
m2.repos=${user.home}/.m2/repository
dcm4che14.home=${user.home}/dcm4che14/build/dcm4che-1.4.31
docstore-version=1.0.3
infoset-version=1.0.3
3rd Party Dependency Paths
Each of the dcm4chee projects contains a file called build.properties.default
in its root directory. These files contain the paths to dependencies to third party libraries that the projects need in order to compile. Copy each build.properties.default
file to build.properties
in the same directory. Edit these files and put in the necessary path information so that the compilation process can find the dependencies. The build scripts will automatically look for the build.properties
files.
Alternatively, you may combine all of the build.properties
entries into a single build.properties
file in the root dcm4jboss-all
directory in order to avoid editing so many files.
Castor is a commercial SDK that that is not readily downloadable. If you are not going to use the Castor HSM module, you will need to remove the code and deployment descriptors for that module before compiling.
TODO:Â HSM plugins should be broken up into separate, optional modules.Â
Â
Change to the working build directory:
cd dcm4jboss-all/dcm4jboss-build
and invoke:
ant <database>-dist
to build all components and pack them in binary distribution package:
target/dcm4chee-%version%-<database>.zip