Я новичок в Kotlin и до сих пор не все понимаю. Я пытаюсь построить проект в .jar, но пока безуспешно. Я нашел много разных решений и перепробовал все из них
Недопустимый дайджест файла подписи для основных атрибутов Manifest с плагином Jetty и Maven Shade
"Недопустимый файл подписи "при попытке запустить .jar
Исключение в потоке" main "java .lang.SecurityException: неверный дайджест файла подписи для основных атрибутов манифеста
Действительная подпись JAR для проектов JavaFX
, но каждый раз появляется одна и та же ошибка:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
Моя сборка maven:
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>io.lavr.utils.any2json.ApplicationKt</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<filters>
<filter>
<artifact>any2json</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludeScope>system</excludeScope>
<excludes>META-INF/*.SF</excludes>
<excludes>META-INF/*.DSA</excludes>
<excludes>META-INF/*.RSA</excludes>
<excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Пожалуйста, прости меня за мое невежество и относись с пониманием. Спасибо =)
Изменения:
собранный кувшин с такой командой:
jar cvmf src/main/kotlin/META-INF/MANIFEST.MF Application.jar -C target/classes io/lavr/utils/any2json
Затем я попытался запустить:
java -jar Application.jar
но у меня снова ошибка:
Error: Unable to initialize main class io.lavr.utils.any2json.ApplicationKt
Caused by: java.lang.NoClassDefFoundError: kotlin/TypeCastException