diff --git a/pom.xml b/pom.xml index 410704e7b097c36eb3b6c599801e19c2ca191865..5b2faf04c30f6db984de53e11de224236389970e 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,7 @@ <properties> <package-name>bdv.server</package-name> + <main-class>bdv.server.BigDataServer</main-class> <license.licenseName>gpl_v3</license.licenseName> <license.copyrightOwners>BigDataViewer developers.</license.copyrightOwners> @@ -120,4 +121,61 @@ <version>${commons-cli.version}</version> </dependency> </dependencies> + + <profiles> + <profile> + <id>fatjar</id> + <build> + <plugins> + <!-- Maven shade for Uber Jar --> + <!-- https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html --> + <!-- https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/troubleshooting/missing_dependencies_in_jar_files.html --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <configuration> + <!-- Do not minimize for now to speed up packaging. --> + <transformers combine.children="append"> + <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> + <resource>META-INF/json/org.scijava.plugin.Plugin</resource> + </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> + <resource>META-INF/json/mpicbg.spim.data.generic.sequence.ImgLoaderIo</resource> + </transformer> + </transformers> + <!--<minimizeJar>true</minimizeJar> --> + <filters> + <filter> + <artifact>*:*</artifact> + <excludes> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> + </filters> + <!-- Additional configuration. --> + <relocations> + <relocation> + <pattern>org.apache.commons.compress</pattern> + <shadedPattern>org.janelia.saalfeldlab.org.apache.commons.compress</shadedPattern> + </relocation> + </relocations> + </configuration> + <!-- binds by default to package phase --> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + </plugin> + <!-- Maven shade end --> + </plugins> + </build> + </profile> + </profiles> + </project>