首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vaadin图表-ClassNotFoundException: com.vaadin.ui.AbstractComponent

Vaadin图表-ClassNotFoundException: com.vaadin.ui.AbstractComponent
EN

Stack Overflow用户
提问于 2015-04-22 22:54:02
回答 1查看 1.5K关注 0票数 1

我写了一个小的演示网络应用程序,我可以运行在一个tomcat服务器,并显示一个金库图表。

当我重新启动服务器并第一次加载应用程序时,它就能工作了。一旦我对代码做了修改,应用程序就会自动重新部署,我就会得到下面的ClassNotFoundException: com.vaadin.ui.AbstractComponent异常。我重新编译了widgetset,因为图表需要这样做。

在添加图表之前,这是没有问题的,所以我假设图表组件缺少一些东西,但是当我重新启动服务器时,它会工作,这让我感到困惑。

难道我需要不断地重新编译图表,在不改变图表特定代码的情况下,我需要如何调整常春藤文件来实现这一点?

注释:

代码语言:javascript
复制
@VaadinServletConfiguration(productionMode = false, ui = DerstandarduseranalyzerUI.class, widgetset = "com.example.derstandarduseranalyzer.widgetset.DerstandarduseranalyzerWidgetset")

Widgetset gwt

代码语言:javascript
复制
<inherits name="com.vaadin.DefaultWidgetSet" />
<inherits name="com.vaadin.addon.charts.Widgetset" />
<inherits name="com.vaadin.addon.timeline.gwt.TimelineWidgetSet" />

ivy.xml

代码语言:javascript
复制
<?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>

ivysettings.xml

代码语言:javascript
复制
 <?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 PM org.apache.catalina.core.StandardContext重载信息:使用名称/derStandardUserAnalyzer重新加载上下文已于4月22日启动,2015年11:31:54 PM checkThreadLocalMapForLeaks严重: web应用程序/derStandardUserAnalyzer创建了具有com.google.gson.Gson$1类型键和类型java.util.HashMap值的ThreadLocal,但在停止web应用程序时未能删除。线程将随着时间的推移而更新,以避免可能的内存泄漏。2015年4月22日11:31:54下午11:54 org.apache.jasper.servlet.TldScanner scanJars信息:至少有一个罐子扫描了TLDs,但没有包含TLDs。为此记录器启用调试日志记录,以便获得扫描的JAR的完整列表,但其中没有发现TLD。在扫描过程中跳过不需要的JAR可以缩短启动时间和JSP编译时间。4月22日,2015年11:31:54 PM org.apache.catalina.session.StandardManager startInternal严重:来自持久存储的异常加载会话java.lang.NoClassDefFoundError: com/vaadin/ui/抽象组件at java.lang.ClassLoader.defineClass1(原生方法)在java.lang.ClassLoader.defineClass(未知源)在org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1262) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145) at java.lang.Class.forName0(原生方法)java.lang.Class.forName(未知来源) org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:74) at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source( java.io.ObjectInputStream.readClassDesc(Unknown Source)(未知源)在java.io.ObjectInputStream.skipCustomData(Unknown源)在java.io.ObjectInputStream.readSerialData(Unknown源)在java.io.ObjectInputStream.readOrdinaryObject(Unknown源)在java.io.ObjectInputStream.readObject0(未知源)在java.io.ObjectInputStream.defaultReadFields(Unknown源)在java.io.ObjectInputStream.readSerialData(Unknown源)在java.io.ObjectInputStream.readOrdinaryObject(Unknown源)(未知源)在java.io.ObjectInputStream.defaultReadFields(Unknown源)在java.io.ObjectInputStream.readSerialData(Unknown源)在java.io.ObjectInputStream.readOrdinaryObject(Unknown源)在java.io.ObjectInputStream.readObject0(未知源)在java.io.ObjectInputStream.readObject(未知源)在org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1634) at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1099) at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:261) at org.apache.catalina.session.StandardManager.load(StandardManager.java:180) at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:460) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5238) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) atorg.apache.catalina.core.StandardContext.reload(StandardContext.java:3821) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:292) at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5576) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349) at java.lang.Thread.run(不明来源):java.lang.ClassNotFoundException: com.vaadin.ui.AbstractComponent at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-23 06:57:02

有时我也会遇到这种情况。不是Vaadin相关的问题,而是容器的问题。基本上没有更新。通常,重新启动机器(它可能挂在某个地方)会有所帮助;一个快速的替代方法是执行"Project > Clear“,并在用于运行/调试(Servers )选项卡的服务器上执行”右键单击>清除“。每次都这么做有点烦人,但却为我工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29810407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档