Saya ingin membuat file jar dari proyek pakar. Saya perlu menggunakan assembly.xml sendiri karena saya perlu mengecualikan beberapa file .so:
perakitan.xml
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assembly-with-so</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<!-- package the regular dependencies -->
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
<excludes>
<exclude>jcuda:libJCublas:so:linux-x86_64:0.6.5</exclude>
[...]
</excludes>
</dependencySet>
<dependencySet>
<outputDirectory>/</outputDirectory>
<includes>
<include>jcuda:libJCublas:so:linux-x86_64:0.6.5</include>
[...]
</includes>
</dependencySet>
</dependencySets>
</assembly>
pom.xml
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptor>src/main/assembly/assembly.xml</descriptor>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>org.test.Test</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
[...]
</build>
Ketika saya memulai file jar menggunakan java -jar File.jar
saya mendapatkan kesalahan bahwa kelas org.test.Test
hilang. Ketika saya membuka file .jar untuk melihat isinya, saya melihat bahwa setiap file dependensi ada di sana tetapi file proyek utama hilang.
jcuda
di set pertama dan memasukkannya lagi di set kedua? - person Aaron Digulla   schedule 23.10.2014<unpack>true</unpack>
). Mengapa Anda menjalankan Majelis dalam faseprepare-package
bukannyapackage
..Ini bisa menjelaskan mengapa kelas utamajar-file
tidak dikemas ke dalamnya. - person khmarbaise   schedule 24.10.2014prepare-package
menjadipackage
tidak menyelesaikannya. - person user1406177   schedule 24.10.2014