我有一个使用Weld 2.4.1和Jetty 9.4.7的Web应用程序。我试图将它迁移到Weld 3(这是唯一的变化),现在Jetty无法加载我的应用程序,但例外:
引起: java.lang.ClassNotFoundException:org.eclipse.jetty.util.Decorator 在org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:586) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Weld Maven依赖:
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet-core</artifactId>
<version>3.0.1.Final</version>
</dependency>
app.xml(需要根据http://docs.jboss.org/weld/reference/latest-master/en-US/html/environments.html#_jetty放入webapps文件夹)
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/app</Set>
<Set name="war"><Property name="jetty.webapps" default="."/>/app.war</Set>
<Call name="prependServerClass">
<Arg>-org.eclipse.jetty.server.handler.ContextHandler</Arg>
</Call>
<Call name="prependServerClass">
<Arg>-org.eclipse.jetty.servlet.FilterHolder</Arg>
</Call>
<Call name="prependServerClass">
<Arg>-org.eclipse.jetty.servlet.ServletContextHandler</Arg>
</Call>
<Call name="prependServerClass">
<Arg>-org.eclipse.jetty.servlet.ServletHolder</Arg>
</Call>
</Configure>
请建议。