0

Hi I'm working with Vaadin7 Project.

I am having a hard time with compiling the project.

I really frustrated since I could not run a Simple HelloWorld Project :-(

I am using eclipse Kepler on OSX.

What I have done and tried are below.

  • Made a Maven Project with some options(add vaadin-archtype-application).
  • Add <dependency>vaadin-charts to pom.xml. I follow the guide here. Link : https://vaadin.com/book/vaadin7/-/page/addons.maven.html
  • Run this Project with Tomcat and I got error message about widgetset. So I did maven build just like this Link told. Link : Failed to load Widgetsets in maven project in eclipse
  • Run Project As Maven clean
  • found two warning about version(apache-maven-compiler-plugin, org-mortbat-jetty), so I add tags. each are 3.1 and 8.1.15.v20140411(Found this in Maven Repository site)
  • it seems that everything is fine but My project shows 404 error

There is no web.xml and I really do not know where to fix this.

I think it is quite near to watch 'click' button in Chrome, but can not find.

My Error Log is below

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)

Thanks for sharing my problem :D

============ Edited on 06/02/2014 =======================

My maven clean looks fine. I attached logs

[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] ------------------------------------------------------------------------

========= Edit #02 ========================

Upper one is Maven clean, and I found an error in Maven build.

I think it could be a clue.

[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

And I found a post in Vaadin forums. but it does not look like my problem. it is about Ivy setting. However link is below

https://vaadin.com/forum/#!/thread/3529974

Community
  • 1
  • 1
Juneyoung Oh
  • 7,318
  • 16
  • 73
  • 121
  • Are you using the [Vaadin plugin for Eclipse](http://www.vaadin.com/eclipse)? – Basil Bourque Jun 01 '14 at 17:34
  • @BasilBourque I am not sure. I installed vaadin via with 'install new software' not with 'eclipse market - vaadin plugon for eclipse'. could it be a problem? – Juneyoung Oh Jun 01 '14 at 22:50
  • In theory you can create a Vaadin project directly through Maven. Some people have reported success. But I strongly recommend using the [Vaadin Plugin for Eclipse](http://www.vaadin.com/eclipse) or the newer [Vaadin plugin for Netbeans](http://plugins.netbeans.org/plugin/50531/vaadin-plug-in-for-netbeans). I prefer NetBeans but both work well. Should make your Vaadin work *much* easier. Another tip: I now do all my development in virtual machines. Makes it easier to experiment with various setups. Currently Parallels 9 on Mavericks with Mountain Lion in VMs (because I deploy to Mountain Lion). – Basil Bourque Jun 02 '14 at 00:38
  • For info on installing and using either Vaadin plugin, read [the Book Of Vaadin](https://vaadin.com/book/-/page/getting-started.eclipse.html) and the forums. – Basil Bourque Jun 02 '14 at 00:40
  • @BasilBourque Thanks for the explanations. I have tried install 'Vaadin plugin for eclipse' via eclipse market but failed. I think the reason why is I already installed some part of package with 'install new software'. I will reinstall eclipse and vaadin when I return home:D And I will post the result. However, I will not use Netbeans for now since I am not familiar with that. Thanks again – Juneyoung Oh Jun 02 '14 at 01:11
  • @JuneyoungOh Firstly, the client side compilation is performed correctly? The command mvn clean install finish with a BUILD SUCCESS? I often use vaadin-archtype-application and charts and everything works – Skizzo Jun 02 '14 at 09:43
  • @Skizzo Thanks. Actually mvn build has done successfully. I can see "BUILD SUCCESS" in console. I wish I could add my console build log to the post, but unfortunately now I am reinstalling eclipse. – Juneyoung Oh Jun 02 '14 at 12:00
  • @BasilBourque I reinstalled eclipse and install vaadin plugin from eclipse marketplace.However, it still can not find class(which is initial class without any manipulations). Is there any options without Netbeans? – Juneyoung Oh Jun 02 '14 at 12:52

1 Answers1

1

1) SEVERE: ClassNotFoundException while loading persisted sessions:java.lang.ClassNotFoundException: org.owls.test.VaadinMay.MyVaadinUI pops up because Tomcat is trying to deserialize a previously saved session, and you might have changed some class names in the meantime. This can be disabled globally by editing the CATALINA_HOME/conf/context.xml file. You should find a line reading "Uncomment this to disable session..." More about this here

2) HTTP 404 should have nothing to do with the point above, and is most likely due to your servlet configuration. Since you have no web.xml, everything should be set-up from inside your UI. Open MyVaadinUi, or whatever you have renamed it to, and see the configuration for the URL path mapping as described in the vaadin documentation (scroll down to chapter 4.8.5 Servlet Mapping with URL Patterns). Make sure you are accessing the application on localhost as per this configuration and you should be fine.

Community
  • 1
  • 1
Morfic
  • 15,178
  • 3
  • 51
  • 61
  • Thanks. I think you exactly understood what I am facing. However, I got an additional question about step 2. you said that watch vaadin documentation 4.8.5. I can find UI class but I can not fallow the instruction since as you pointed I do not have web.xml. My annotations is linked with widgetset(which is almost empty but chart addon). Maybe do you have any hints for me? – Juneyoung Oh Jun 05 '14 at 02:26
  • That is fine as you're probably not using additional widgets in your project. The `@WebServlet(value = {"/*", "/VAADIN/*"}, asyncSupported = true)` is what specifies the access url: `http://localhost:8080/myproject/`. Oh and one more thing, after compiling your project with maven, be sure to refresh the project in eclipse before publishing the resources to Tomcat, as it does not automatically reload changes made on the filesystem by other tools and sometimes even its maven plugin. – Morfic Jun 05 '14 at 05:40