【发布时间】:2014-06-01 13:37:22
【问题描述】:
您好,我正在与 Vaadin7 项目合作。
我很难编译项目。
我真的很沮丧,因为我无法运行一个简单的 HelloWorld 项目 :-(
我在 OSX 上使用 eclipse Kepler。
我所做和尝试的如下。
- 使用一些选项制作了一个 Maven 项目(添加 vaadin-archtype-application)。
- 将
<dependency>vaadin-charts添加到 pom.xml。我按照这里的指南。链接:https://vaadin.com/book/vaadin7/-/page/addons.maven.html - 使用 Tomcat 运行此项目,我收到有关小部件集的错误消息。所以我做了 maven build 就像这个链接告诉的那样。链接:Failed to load Widgetsets in maven project in eclipse
- 以
Maven clean身份运行项目 - 发现两个关于版本的警告(apache-maven-compiler-plugin, org-mortbat-jetty),所以我添加了标签。每个都是 3.1 和 8.1.15.v20140411(在 Maven 存储库站点中找到)
- 似乎一切都很好,但我的项目显示
404 error
没有web.xml,我真的不知道在哪里解决这个问题。
我认为在 Chrome 中观看“点击”按钮很近,但找不到。
我的错误日志如下
SEVERE: ClassNotFoundException while loading persisted sessions: java.lang.ClassNotFoundException: org.owls.test.VaadinMay.MyVaadinUI
java.lang.ClassNotFoundException: org.owls.test.VaadinMay.MyVaadinUI
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:76)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1483)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at java.util.HashMap.readObject(HashMap.java:1183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
at com.vaadin.server.VaadinSession.readObject(VaadinSession.java:1436)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1597)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1062)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Jun 01, 2014 10:39:41 PM org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.lang.ClassNotFoundException: org.owls.test.VaadinMay.MyVaadinUI
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:76)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1483)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at java.util.HashMap.readObject(HashMap.java:1183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
at com.vaadin.server.VaadinSession.readObject(VaadinSession.java:1436)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1597)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1062)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
感谢分享我的问题:D
============ 编辑于 2014 年 6 月 2 日 ========================
我的 maven clean 看起来不错。我附上了日志
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Vaadin Web Application 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ VaadinMvn ---
[INFO] Deleting /Users/juneyoungoh/Documents/vaadinwork/VaadinMvn/target
[INFO]
[INFO] --- vaadin-maven-plugin:7.1.8:clean (default) @ VaadinMvn ---
[INFO] auto discovered modules [org.owls.test.VaadinMvn.AppWidgetSet]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.496s
[INFO] Finished at: Mon Jun 02 21:32:12 KST 2014
[INFO] Final Memory: 6M/81M
[INFO] ------------------------------------------------------------------------
========= 编辑#02 ========================
上面是maven clean,发现maven build有错误。
我认为这可能是一个线索。
[INFO] --- vaadin-maven-plugin:7.1.8:update-theme (default) @ VaadinMvn ---
[INFO] Updating theme VAADIN/themes/mytheme
[ERROR] Jun 02, 2014 10:22:16 PM com.vaadin.server.widgetsetutils.ClassPathExplorer getAvailableWidgetSetsAndStylesheets
[ERROR] INFO: Widgetsets found from classpath:
[ERROR] com.vaadin.DefaultWidgetSet in jar:file:/Users/juneyoungoh/.m2/repository/com/vaadin/vaadin-client/7.1.8/vaadin-client-7.1.8.jar!/
[ERROR] com.vaadin.addon.charts.Widgetset in jar:file:/Users/juneyoungoh/.m2/repository/com/vaadin/addon/vaadin-charts/1.0.0/vaadin-charts-1.0.0.jar!/
[ERROR] com.vaadin.addon.timeline.gwt.TimelineWidgetSet in jar:file:/Users/juneyoungoh/.m2/repository/com/vaadin/addon/vaadin-charts/1.0.0/vaadin-charts-1.0.0.jar!/
[ERROR] org.owls.test.VaadinMvn.AppWidgetSet in file:/Users/juneyoungoh/Documents/vaadinwork/VaadinMvn/src/main/java
[ERROR] Addon styles found from classpath:
[ERROR]
[ERROR] Jun 02, 2014 10:22:17 PM com.vaadin.server.widgetsetutils.ClassPathExplorer getAvailableWidgetSetsAndStylesheets
[ERROR] INFO: Search took 27ms
我在 Vaadin 论坛上发现了一个帖子。但它看起来不像我的问题。这是关于常春藤设置。但是链接在下面
【问题讨论】:
-
@BasilBourque 我不确定。我通过“安装新软件”而不是“Eclipse 市场 - Eclipse 的 vaadin 插件”安装了 vaadin。会不会有问题?
-
理论上可以通过Maven直接创建Vaadin项目。有人报告说成功了。但我强烈建议使用Vaadin Plugin for Eclipse 或更新的Vaadin plugin for Netbeans。我更喜欢 NetBeans,但两者都运行良好。应该让您的 Vaadin 工作更加更轻松。另一个提示:我现在在虚拟机中进行所有开发。使尝试各种设置变得更加容易。目前 Parallels 9 on Mavericks 在 VM 中使用 Mountain Lion(因为我部署到 Mountain Lion)。
-
有关安装和使用 Vaadin 插件的信息,请阅读 the Book Of Vaadin 和论坛。
-
@BasilBourque 感谢您的解释。我曾尝试通过 Eclipse 市场安装“Vaadin Eclipse 插件”但失败了。我认为我已经使用“安装新软件”安装了软件包的某些部分的原因。我回家后会重新安装 eclipse 和 vaadin:D 我会发布结果。但是,我暂时不会使用 Netbeans,因为我对此并不熟悉。再次感谢
标签: java eclipse maven tomcat vaadin7