Прежде всего: я новичок в maven. Я сделал свое первое приложение maven и успешно протестировал его в среде IDE. Конструкция всегда была успешной, и все работало как шарм.Maven исполняемый Jar выдает ошибку при запуске
Теперь я хочу экспортировать проект в качестве исполняемого флага с зависимостями, встроенными, но я не совсем уверен, почему он не работает.
Я добавил следующее в мой файл пом, как это было то, что я нашел на различные ответы на аналогичный вопрос
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.pwc.scfa.pensareautomatio3.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Я понимаю, что это указывает главный класс для виртуальной машины Java, чтобы начать, как IDE не устанавливает это автоматически.
Я нашел банку в каталоге целей, скопировал ее в другой каталог и попытался выполнить ее.
К сожалению, следующие ошибки выбрасываются:
Можете ли вы дать мне подсказку, где я мог бы пойти не так? Это было бы прекрасно. (Я использую NetBeans, если это какой-либо помощи.)
Вот мой StackTrace:
C:\Users\scfa\Desktop>java -jar PensareAutomatio-1.1.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/openxm
l4j/exceptions/InvalidFormatException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.openxml4j.exceptions
.InvalidFormatException
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
Спасибо :)
Вы можете открыть файл jar с помощью инструмента архивирования (например, 7zip или winrar)? Если да, то что вы могли бы разместить в нем? также попробуйте запустить его из командной строки, чтобы увидеть трассировку стека (в окнах используйте cmd, перейдите в папку, содержащую банку, и введите «java -jar myjar.jar» – gybandi