Skip to content

Maven Build

Patrick Corless edited this page Jan 18, 2020 · 2 revisions

Maven can be used to build the ICEpdf core, viewer and example modules. This build does not build the distribution package, the Gradle build can be used for this if desired. The reactor build order of the maven project looks as follows:

------------------------------------------------------
 Reactor Build Order:

 ICEpdf OS :: Core :: Core Swing/AWT
 ICEpdf OS :: Core
 ICEpdf OS :: Viewer : Swing/AWT Viewer RI
 ICEpdf OS :: Viewer
 ICEpdf OS :: Examples :: Annotation :: Callback
 ICEpdf OS :: Examples :: Annotation :: Creation
 ICEpdf OS :: Examples :: Annotation
 ICEpdf OS :: Examples :: Capture :: Listener
 ICEpdf OS :: Examples :: Capture :: PNG
 ICEpdf OS :: Examples :: Capture :: Portfolio
 ICEpdf OS :: Examples :: Capture :: TIFF
 ICEpdf OS :: Examples :: Capture :: Watermark
 ICEpdf OS :: Examples :: Capture
 ICEpdf OS :: Examples :: Component Swing/AWT
 ICEpdf OS :: Examples :: Extraction :: Images
 ICEpdf OS :: Examples :: Extraction :: Metadata
 ICEpdf OS :: Examples :: Extraction :: Text
 ICEpdf OS :: Examples :: Extraction
 ICEpdf OS :: Examples :: JavaFx
 ICEpdf OS :: Examples :: Loading Events
 ICEpdf OS :: Examples :: Print Services
 ICEpdf OS :: Examples :: Search :: Highlight
 ICEpdf OS :: Examples :: Search :: Headless
 ICEpdf OS :: Examples :: Search
 ICEpdf OS :: Examples :: Signatures
 ICEpdf OS :: Examples :: SVG Capture
 ICEpdf OS :: Examples
 ICEpdf OS

From the reactor summary above it can be see then the three main modules are core, viewer and examples. Each can be build individually if desired.

# core module
~$ mvn -pl :icepdf-core package

# viewer module, -am insures dependencies are build 
~$ mvn -pl :icepdf-viewer -am package

# examples module, -am insures dependencies are build 
~$ mvn -pl :png-capture -am package
# or with full group id. 
~$ mvn -pl org.icepdf.os.examples:png-capture -am package

And of course the whole project hierarchy can be built with:

# or with full group id. 
~$ mvn package

Versioning and Publishing

When working with ICEpdf source it common to install compiled core and viewer jars into a local repository. The maven command for install is a as follows:

# Install icepdf-core.jar in local repository
~$ mvn -pl :icepdf-core install
# Install icepdf-viwer.jar in local repository
~$ mvn -pl :icepdf-viewer install

Version information is store in the root projects pom.xml and can be updated as needed before installing the jars into a local repository

Clone this wiki locally