scijava-maven-plugin is a Maven plugin for managing SciJava-based software.
$ mvn scijava:help [INFO] SciJava plugin for Maven 1.1.0 A plugin for managing SciJava-based projects. This plugin has 7 goals: scijava:bump Bumps dependency and parent versions in SciJava projects. scijava:copy-jars Copies .jar artifacts and their dependencies into a SciJava application directory structure. ImageJ 1.x plugins (identified by containing a plugins.config file) get copied to the plugins/ subdirectory and all other .jar files to jars/. However, you can override this decision by setting the scijava.app.subdirectory property to a specific subdirectory. It expects the location of the SciJava application directory to be specified in the scijava.app.directory property (which can be set on the Maven command-line). If said property is not set, the copy-jars goal is skipped. scijava:eclipse-helper Runs the annotation processor of the scijava-common artifact even inside Eclipse. scijava:help Display help information on scijava-maven-plugin. Call mvn scijava:help -Ddetail=true -Dgoal=<goal-name> to display parameter details. scijava:install-artifact Downloads .jar artifacts and their dependencies into a SciJava application directory structure. ImageJ 1.x plugins (identified by containing a plugins.config file) get copied to the plugins/ subdirectory and all other .jar files to jars/. However, you can override this decision by setting the scijava.app.subdirectory property to a specific subdirectory. It expects the location of the SciJava application directory to be specified in the scijava.app.directory property (which can be set on the Maven command-line). If said property is not set, the install-artifact goal is skipped. scijava:set-rootdir Sets the project.rootdir property to the top-level directory of the current Maven project structure. scijava:verify-no-snapshots Mojo wrapper for the SnapshotFinder. Parameters: - failFast - end execution after first failure (default: false) - groupIds - an inclusive list of groupIds. Errors will only be reported for projects whose groupIds are contained this list. (default: empty - all groupIds considered) - groupId - Singular groupIds option. Will be appended to groupIds if both are specified.
It is recommended to enable the set-rootdir as well as the copy-jars goal by making the SciJava POM the parent project:
<project ...> <parent> <groupId>org.scijava</groupId> <artifactId>pom-scijava</artifactId> <version>7.5.2</version> </parent> ... </project>
Alternatively, you can include the plugin explicitly in the life cycle:
<plugins> <!-- Set the rootdir property to the root of the multi-module project --> <plugin> <groupId>org.scijava</groupId> <artifactId>scijava-maven-plugin</artifactId> <version>0.1.0</version> <executions> <execution> <id>set-rootdir</id> <phase>validate</phase> <goals> <goal>set-rootdir</goal> </goals> </execution> <execution> <id>copy-jars</id> <phase>install</phase> <goals> <goal>copy-jars</goal> </goals> </execution> </executions> </plugin> </plugins>