所以,软件运行正常,一切都很好。我确实在网上找到了一些问题的答案,但我似乎无法解决我的问题。在我的构建路径和顺序中,一切似乎都没问题。 我得到的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/service/ServiceRegistry
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: org.hibernate.service.ServiceRegistry
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
我需要将我的项目导出到JAR文件,请帮助我,我很绝望。感谢任何关心提前回答的人。
答案 0 :(得分:0)
构建jar-with-dependencies将解决您的问题
将以下内容添加到pom.xml
文件中:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.main.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
运行mvn clean compile assembly:single
然后,您就可以运行java -jar name-with-dependencies.jar
答案 1 :(得分:0)
所以,我已经弄清楚问题是什么了。问题是,我在我的PC上使用Java 8时,我已经在我的PC上安装了Java 9(不久前)。当我尝试运行JAR文件时,它使用Java 9来运行它,并且它有一些错误放置的依赖项。我刚刚卸载了Java 9,用jre 1.8.0_144
导出了项目,我在我的PC上运行jdk 1.8.0_121
。现在一切都很好。
感谢@Gal和@AJNeufeld的回答和帮助。