Skip to content

Commit

Permalink
Add assembly to create fat jar
Browse files Browse the repository at this point in the history
- Creates a fat jar aka jar-with-dependencies during build
- Jar name: ucanaccess-<version>-fat.jar
- Fat jar is executable (main class: net.ucanaccess.console.Main)
- Use this jar as single dependency to read/write MS Access databases from LibreOffice Base and other client programs
  • Loading branch information
spannm committed Mar 28, 2024
1 parent 8d97dd5 commit 3be4b66
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 9 deletions.
34 changes: 26 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -270,20 +270,38 @@
</plugins>
</pluginManagement>

<!-- mvn org.apache.maven.plugins:maven-assembly-plugin:single@distrib-zip-assembly -->
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/distrib-zip-assembly.xml</descriptor>
</descriptors>
<finalName>${project.artifactId}-${project.version}-bin</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<!-- mvn org.apache.maven.plugins:maven-assembly-plugin:single@distrib-zip-assembly -->
<id>distrib-zip-assembly</id>
<configuration>
<descriptors>
<descriptor>src/main/assembly/distrib-zip-assembly.xml</descriptor>
</descriptors>
<appendAssemblyId>true</appendAssemblyId>
</configuration>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
<execution>
<!-- mvn org.apache.maven.plugins:maven-assembly-plugin:single@fat-jar-assembly -->
<id>fat-jar-assembly</id>
<configuration>
<descriptors>
<descriptor>src/main/assembly/fat-jar-assembly.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>${ucanaccess.console.main}</mainClass>
</manifest>
</archive>
<appendAssemblyId>true</appendAssemblyId>
</configuration>
<goals>
<goal>single</goal>
</goals>
Expand Down
5 changes: 4 additions & 1 deletion src/main/assembly/distrib-zip-assembly.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 http://maven.apache.org/xsd/assembly-2.2.0.xsd">

<id>distrib-zip-assembly</id>
<id>distrib</id>

<formats>
<format>zip</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>

<files>
<file>
<source>${project.build.directory}/${project.artifactId}-${project.version}.jar</source>
Expand Down
27 changes: 27 additions & 0 deletions src/main/assembly/fat-jar-assembly.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.2.0 http://maven.apache.org/xsd/assembly-2.2.0.xsd">

<id>fat</id>

<formats>
<format>jar</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>

<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<unpack>true</unpack>
<scope>runtime</scope>
<excludes>
<exclude>org.apache.poi:poi</exclude>
</excludes>
</dependencySet>
</dependencySets>

</assembly>

0 comments on commit 3be4b66

Please sign in to comment.