Java Vaadin图表-ClassNotFoundException:com.Vaadin.ui.AbstractComponent
我编写了一个小的演示web应用程序,可以在tomcat服务器上运行,并显示一个vaadin图表 当我重新启动服务器并第一次加载应用程序时,它工作正常。一旦我对代码进行了更改并且应用程序应该自动重新部署,我就会得到一个ClassNotFoundException:com.vaadin.ui.AbstractComponent异常。我重新编译了widgetset,因为图表需要这样做 在添加图表之前,这是没有问题的,所以我假设图表组件缺少一些东西,但是当我重新启动服务器时,它会工作,这让我感到困惑 是否在不更改图表特定代码的情况下,我也需要不断重新编译图表?我需要如何调整常春藤文件来实现这一点 注释:Java Vaadin图表-ClassNotFoundException:com.Vaadin.ui.AbstractComponent,java,tomcat,gwt,vaadin,ivy,Java,Tomcat,Gwt,Vaadin,Ivy,我编写了一个小的演示web应用程序,可以在tomcat服务器上运行,并显示一个vaadin图表 当我重新启动服务器并第一次加载应用程序时,它工作正常。一旦我对代码进行了更改并且应用程序应该自动重新部署,我就会得到一个ClassNotFoundException:com.vaadin.ui.AbstractComponent异常。我重新编译了widgetset,因为图表需要这样做 在添加图表之前,这是没有问题的,所以我假设图表组件缺少一些东西,但是当我重新启动服务器时,它会工作,这让我感到困惑 是
@VaadinServletConfiguration(productionMode = false, ui = DerstandarduseranalyzerUI.class, widgetset = "com.example.derstandarduseranalyzer.widgetset.DerstandarduseranalyzerWidgetset")
Widgetset gwt
<inherits name="com.vaadin.DefaultWidgetSet" />
<inherits name="com.vaadin.addon.charts.Widgetset" />
<inherits name="com.vaadin.addon.timeline.gwt.TimelineWidgetSet" />
ivy.xml
<?xml version="1.0"?>
<!DOCTYPE ivy-module [
<!ENTITY vaadin.version "7.4.4">
]>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="com.example" module="v7proj" />
<configurations>
<conf name="default" />
<conf name="widgetset-compile" />
<conf name="nodeploy" />
</configurations>
<dependencies defaultconf="default" defaultconfmapping="default->default">
<dependency org="com.vaadin" name="vaadin-server" rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-themes" rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-push" rev="&vaadin.version;" conf="default->default"/>
<dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="nodeploy->default" />
<dependency org="com.vaadin" name="vaadin-testbench-api" rev="latest.release" conf="nodeploy -> default" />
<dependency org="com.vaadin" name="vaadin-client-compiled"
rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-client" rev="&vaadin.version;" conf="widgetset-compile->default" />
<dependency org="com.vaadin" name="vaadin-client-compiler" rev="&vaadin.version;" conf="widgetset-compile->default" />
</dependencies>
</ivy-module>
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="default" />
<resolvers>
<chain name="default">
<ibiblio name="public" m2compatible="true" />
<ibiblio
name="vaadin-addons"
usepoms="true"
m2compatible="true"
root="http://maven.vaadin.com/vaadin-addons" />
<ibiblio name="vaadin-addons" usepoms="true" m2compatible="true"
root="http://maven.vaadin.com/vaadin-addons" />
<ibiblio name="vaadin-snapshots" usepoms="true" m2compatible="true"
root="https://oss.sonatype.org/content/repositories/vaadin-snapshots" />
<dual name="custom-smartsprites">
<filesystem name="smartsprites-ivy">
<ivy pattern="${basedir}/ivymodule/[module]-ivy-[revision].xml" />
</filesystem>
<url name="smartsprites-artifact">
<artifact
pattern="http://dev.vaadin.com/svn/versions/6.8/build/smartsprites/lib/[artifact](-[revision]).[ext]" />
</url>
</dual>
</chain>
</resolvers>
<modules>
<module organisation="com.carrotsearch" name="smartsprites"
revision="0.2.3-itmill" resolver="custom-smartsprites" />
</modules>
</ivysettings>
ivysettings.xml
<?xml version="1.0"?>
<!DOCTYPE ivy-module [
<!ENTITY vaadin.version "7.4.4">
]>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="com.example" module="v7proj" />
<configurations>
<conf name="default" />
<conf name="widgetset-compile" />
<conf name="nodeploy" />
</configurations>
<dependencies defaultconf="default" defaultconfmapping="default->default">
<dependency org="com.vaadin" name="vaadin-server" rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-themes" rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-push" rev="&vaadin.version;" conf="default->default"/>
<dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="nodeploy->default" />
<dependency org="com.vaadin" name="vaadin-testbench-api" rev="latest.release" conf="nodeploy -> default" />
<dependency org="com.vaadin" name="vaadin-client-compiled"
rev="&vaadin.version;" />
<dependency org="com.vaadin" name="vaadin-client" rev="&vaadin.version;" conf="widgetset-compile->default" />
<dependency org="com.vaadin" name="vaadin-client-compiler" rev="&vaadin.version;" conf="widgetset-compile->default" />
</dependencies>
</ivy-module>
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="default" />
<resolvers>
<chain name="default">
<ibiblio name="public" m2compatible="true" />
<ibiblio
name="vaadin-addons"
usepoms="true"
m2compatible="true"
root="http://maven.vaadin.com/vaadin-addons" />
<ibiblio name="vaadin-addons" usepoms="true" m2compatible="true"
root="http://maven.vaadin.com/vaadin-addons" />
<ibiblio name="vaadin-snapshots" usepoms="true" m2compatible="true"
root="https://oss.sonatype.org/content/repositories/vaadin-snapshots" />
<dual name="custom-smartsprites">
<filesystem name="smartsprites-ivy">
<ivy pattern="${basedir}/ivymodule/[module]-ivy-[revision].xml" />
</filesystem>
<url name="smartsprites-artifact">
<artifact
pattern="http://dev.vaadin.com/svn/versions/6.8/build/smartsprites/lib/[artifact](-[revision]).[ext]" />
</url>
</dual>
</chain>
</resolvers>
<modules>
<module organisation="com.carrotsearch" name="smartsprites"
revision="0.2.3-itmill" resolver="custom-smartsprites" />
</modules>
</ivysettings>
错误
2015年4月22日晚上11:31:54 org.apache.catalina.core.StandardContext
重新加载信息:重新加载名为[/derStandardUserAnalyzer]的上下文
已于2015年4月22日晚上11:31:54开始
org.apache.catalina.loader.WebappClassLoaderBase
checkThreadLocalMapForLeaks严重:web应用程序
[/derStandardUserAnalyzer]使用类型为的键创建了ThreadLocal
[com.google.gson.gson$1](值[com.google.gson.gson]$1@e7f068c])及
类型为[java.util.HashMap](值[{}])的值,但未能删除
当web应用程序停止时,它将停止。线程将被删除
随时间更新,以尝试避免可能的内存泄漏。4月22日,
2015年11:31:54 PM org.apache.jasper.servlet.TldScanner scanJars信息:
至少有一个JAR扫描了TLD,但没有包含顶级域名(TLD)。使可能
调试此记录器的日志记录,以获取已删除JAR的完整列表
已扫描,但未发现TLD。在操作过程中跳过不需要的罐子
扫描可以缩短启动时间和JSP编译时间。4月22日,
2015年11:31:54 PM org.apache.catalina.session.StandardManager
startInternal严重:从持久服务器加载会话时发生异常
存储java.lang.NoClassDefFoundError:
com/vaadin/ui/AbstractComponent位于
java.lang.ClassLoader.defineClass1(本机方法)位于
java.lang.ClassLoader.defineClass(未知源代码)位于
位于的java.security.SecureClassLoader.defineClass(未知源)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2450)
在
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:852)
在
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1262)
在
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)
位于java.lang.Class.forName0(本机方法)
位于的java.lang.Class.forName(未知源)
org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:74)
位于java.io.ObjectInputStream.readNonProxyDesc(未知源)
位于的java.io.ObjectInputStream.readClassDesc(未知源)
位于的java.io.ObjectInputStream.readClass(未知源)
位于的java.io.ObjectInputStream.readObject0(未知源)
位于的java.io.ObjectInputStream.skipCustomData(未知源)
位于的java.io.ObjectInputStream.readSerialData(未知源)
位于的java.io.ObjectInputStream.ReadOrderinaryObject(未知源)
位于的java.io.ObjectInputStream.readObject0(未知源)
位于的java.io.ObjectInputStream.defaultReadFields(未知源)
位于的java.io.ObjectInputStream.readSerialData(未知源)
位于的java.io.ObjectInputStream.ReadOrderinaryObject(未知源)
位于的java.io.ObjectInputStream.readObject0(未知源)
位于的java.io.ObjectInputStream.defaultReadFields(未知源)
位于的java.io.ObjectInputStream.readSerialData(未知源)
位于的java.io.ObjectInputStream.ReadOrderinaryObject(未知源)
位于的java.io.ObjectInputStream.readObject0(未知源)
位于的java.io.ObjectInputStream.readObject(未知源)
org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1634)
在
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1099)
在
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:261)
在
org.apache.catalina.session.StandardManager.load(StandardManager.java:180)
在
org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:460)
在
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
在
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5238)
在
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
在
org.apache.catalina.core.StandardContext.reload(StandardContext.java:3821)
在
org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:292)
在
org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5576)
在
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377)
在
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
在
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
在
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349)
在java.lang.Thread.run(未知源)处,由以下原因引起:
java.lang.ClassNotFoundException:com.vaadin.ui.AbstractComponent位于
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1293)
在
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)
我也时常遇到这种情况。不是与Vaadin相关的问题,而是容器的问题。基本上它没有更新。通常是重新启动机器(可能会挂起一些