我有一個示例dropwizard應用程序。我收到以下異常:dropwizard異常:java.lang.NoClassDefFoundError
>java -jar target/order-service-1.0.0-SNAPSHOT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/engine/jdbc/connections/spi/ConnectionProvider
at io.dropwizard.hibernate.HibernateBundle.<init>(HibernateBundle.java:20)
at com.blurb.order.OrderApplication$1.<init>(OrderApplication.java:61)
at com.blurb.order.OrderApplication.<init>(OrderApplication.java:52)
at com.blurb.order.OrderApplication.main(OrderApplication.java:133)
Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.jdbc.connections.spi.ConnectionProvider
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
如何解決此異常?
編輯
下面是行家樹蔭插件配置:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.*.order.OrderApplication</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
你是怎麼建立你的jar的? 'target'文件夾指向一個Maven項目 - 是這種情況嗎? – Tunaki
你有'dropwizard-hibernate'作爲maven的依賴嗎? – sfat
@Tunaki:https://dropwizard.github.io/dropwizard/getting-started.html#running-your-application – riship89