Thorsten Maus contributed a Maven plugin to SpringSource (see Section A.2, “Documentation”)
that builds a PAR file from a list of dependencies. In this step the Maven par plugin is added
to properly build a PAR artifact type.
In the <build><plugins>…</plugins></build> section, add a plugin declaration for the
par plugin.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-par-plugin</artifactId> <version>1.0.0.RELEASE</version> <configuration> <applicationSymbolicName>greenpages</applicationSymbolicName> <applicationDescription>GreenPages</applicationDescription> </configuration> </plugin>
Declare the list of bundles to be packaged in the PAR as dependencies of the PAR project.
<dependency> <groupId>com.springsource.dmserver</groupId> <artifactId>greenpages.app</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.springsource.dmserver</groupId> <artifactId>greenpages.jpa</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.springsource.dmserver</groupId> <artifactId>greenpages.db</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.springsource.dmserver</groupId> <artifactId>greenpages.web</artifactId> <version>${project.version}</version> <type>war</type> </dependency>
Now, run the following command.
mvn clean package
This command will now complete successfully and build a PAR into target/:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building GreenPages PAR
[INFO] task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] [par:par {execution: default-par}]
[INFO] Assembling Artifacts for PAR '…/start/greenpages/target/greenpages-2.3.0.RELEASE.par'
[INFO] Added 'greenpages.app.jar'
[INFO] Added 'greenpages.jpa.jar'
[INFO] Added 'greenpages.db.jar'
[INFO] Added 'greenpages.web.war'
[INFO] [com.springsource.bundlor.:transform {execution: bundlor}]
[INFO] Ignored project with non-bundle packaging: [par]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------Proceed to the next step.