Convert Java Project Built in Maven Framework to Executable Windows Application
24-12-2013
If you want to convert your Java project built in maven to Windows executable(.exe) application, you should add following plugins into pom.xml file:
NOTE: If you have some Unicode letter problems, then you can easily overcome by copying following statements into pom.xml file:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.7.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>shaded</shadedClassifierName> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.Main</mainClass> </transformer> </transformers> </configuration> </plugin> <plugin> <groupId>com.akathist.maven.plugins.launch4j</groupId> <artifactId>launch4j-maven-plugin</artifactId> <version>1.5.1</version> <executions> <execution> <id>l4j-clui</id> <phase>package</phase> <goals> <goal>launch4j</goal> </goals> <configuration> <headerType>gui</headerType> <jar>${project.build.directory}/${artifactId}-${version}-shaded.jar</jar> <outfile>${project.build.directory}/${artifactId}.exe</outfile> <downloadUrl>http://java.com/download</downloadUrl> <classPath> <mainClass>com.example.Main</mainClass> </classPath> <icon>src/main/resources/exe.ico</icon> <jre> <minVersion>1.6.0</minVersion> <jdkPreference>preferJre</jdkPreference> </jre> <versionInfo> <fileVersion>1.0.0.0</fileVersion> <txtFileVersion>${project.version}</txtFileVersion> <fileDescription>${project.name}</fileDescription> <copyright>2012 hasCode.com</copyright> <productVersion>1.0.0.0</productVersion> <txtProductVersion>1.0.0.0</txtProductVersion> <productName>${project.name}</productName> <companyName>hasCode.com</companyName> <internalName>hasCode</internalName> <originalFilename>hasCode.exe</originalFilename> </versionInfo> </configuration> </execution> </executions> </plugin>
NOTE: If you have some Unicode letter problems, then you can easily overcome by copying following statements into pom.xml file:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>