Note that you need to uncheck the “Group items by category” at the moment when using the experimental site to see the available features. Only the main feature should be installed (it also contains the visual designer) unless upgrading from a very old version with a separate visual designer plugin.
If the latest experimental plugin does not work, please
create a ticket including details about the plugin version used, the Vaadin version used in the project etc.
I want to know, why there is no way of downgrading the eclipse plugin? Now I am stuck with broken plugin and can’t “reverse” back to working one (tried both normal and experimental 2.2 and both are broken with regards to widgetset compilation).
There is no update site with metadata for older plugin versions even though the plugin and feature JARs still exist on the site, so no easy way to downgrade. At the moment the experimental site is practically identical to the main site.
What Vaadin version and GWT version are you using in the project? Do you get the message about “-war” not supported or some other problem? Any other information about how it does not work, what kind of project configuration you have etc?
The thing is, it works on some projects, does not work on others.
One project works fine, other is saying the error about -war and yet another project is throwing IllegalArgumentException:
java.lang.IllegalArgumentException: Attempted to beginRule: MultiRule[P/operaty-ui,P/.org.eclipse.jdt.core.external.folders]
, does not match outer scope rule: P/operaty-ui
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:134)
at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:333)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:85)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2282)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2339)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3102)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3064)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3117)
at com.vaadin.integration.eclipse.util.ProjectDependencyManager.updateGWTLibraries(ProjectDependencyManager.java:475)
at com.vaadin.integration.eclipse.util.ProjectDependencyManager.ensureGWTLibraries(ProjectDependencyManager.java:342)
at com.vaadin.integration.eclipse.util.WidgetsetUtil.compileWidgetset(WidgetsetUtil.java:126)
at com.vaadin.integration.eclipse.builder.WidgetsetBuildManager.compileWidgetsetIfNotRunning(WidgetsetBuildManager.java:579)
at com.vaadin.integration.eclipse.builder.WidgetsetBuildManager.compileWidgetset(WidgetsetBuildManager.java:642)
at com.vaadin.integration.eclipse.handlers.CompileWidgetsetHandler.compileFile(CompileWidgetsetHandler.java:152)
at com.vaadin.integration.eclipse.handlers.CompileWidgetsetHandler$1.run(CompileWidgetsetHandler.java:64)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
eclipse.buildId=3.3.0.201307092139-RELEASE-e38
java.version=1.6.0_37
java.vendor=Sun Microsystems Inc.
Executing compiler with command line:
C:\Program Files\Java\jdk1.6.0_37\bin\java.exe -Djava.awt.headless=true -Xss8M -Xmx512M -XX:MaxPermSize=512M -classpath C:\Program Files\Java\jdk1.6.0_37\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\jmagick.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\sunjce_provider.jar;C:/Users/Peter/Documents/bach-dataframe/vaadin-addons/src/main/java;C:/Users/Peter/Documents/bach-dataframe/vaadin-addons/src/test/java;C:/Users/Peter/Documents/bach-dataframe/vaadin-addons/target/classes;C:/Users/Peter/Documents/bach-dataframe/vaadin-addons/target/test-classes;C:/Users/Peter/Desktop/STS/springsource/sts-3.1.0.RELEASE/configuration/com.vaadin.integration.eclipse/download/gwt-dev/2.3.0/gwt-dev.jar;C:/Users/Peter/.m2/repository/com/google/gwt/gwt-user/2.3.0/gwt-user-2.3.0.jar;C:/Users/Peter/.m2/repository/com/vaadin/vaadin/6.8.7/vaadin-6.8.7.jar;C:/Users/Peter/.m2/repository/org/vaadin/addons/contextmenu/3.1.0/contextmenu-3.1.0.jar;C:/Users/Peter/.m2/repository/org/vaadin/addons/easyuploads/0.5.1/easyuploads-0.5.1.jar -Dgwt.persistentunitcachedir=C:\Users\Peter\AppData\Local\Temp\widgetset_cz.bach.vaadin.addons.widgetset.widgetsetdc2ea9e2-62ac-4d9b-9c18-9ad92275cef8 com.vaadin.tools.WidgetsetCompiler -war src/main/webapp/VAADIN/widgetsets -deploy C:\Users\Peter\AppData\Local\Temp\widgetset_cz.bach.vaadin.addons.widgetset.widgetsetdc2ea9e2-62ac-4d9b-9c18-9ad92275cef8 -extra C:\Users\Peter\AppData\Local\Temp\widgetset_cz.bach.vaadin.addons.widgetset.widgetsetdc2ea9e2-62ac-4d9b-9c18-9ad92275cef8 -localWorkers 4 -logLevel INFO cz.bach.vaadin.addons.widgetset.widgetset
Updating GWT module description file...
15.7.2013 16:29:16 com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:C:/Users/Peter/.m2/repository/com/vaadin/vaadin/6.8.7/vaadin-6.8.7.jar!/
org.vaadin.easyuploads.EasyuploadsWidgetset in jar:file:C:/Users/Peter/.m2/repository/org/vaadin/addons/easyuploads/0.5.1/easyuploads-0.5.1.jar!/
org.vaadin.peter.contextmenu.ContextmenuWidgetset in jar:file:C:/Users/Peter/.m2/repository/org/vaadin/addons/contextmenu/3.1.0/contextmenu-3.1.0.jar!/
cz.bach.vaadin.addons.widgetset.widgetset in file://C/Users/Peter/Documents/bach-dataframe/vaadin-addons/src/main/java
15.7.2013 16:29:16 com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 6ms
Done.
Starting GWT compiler
Unknown argument: -war
Google Web Toolkit 2.3.0
GWTCompiler [-logLevel level]
[-workDir dir]
[-gen dir]
[-style style]
[-ea]
[-XdisableClassMetadata]
[-XdisableCastChecking]
[-validateOnly]
[-draftCompile]
[-optimize level]
[-compileReport]
[-strict]
[-out dir]
[-localWorkers count]
module[s]
where
-logLevel The level of logging detail: ERROR, WARN, INFO, TRACE, DEBUG, SPAM, or ALL
-workDir The compiler's working directory for internal use (must be writeable; defaults to a system temp dir)
-gen Debugging: causes normally-transient generated types to be saved in the specified directory
-style Script output style: OBF[USCATED]
, PRETTY, or DETAILED (defaults to OBF)
-ea Debugging: causes the compiled output to check assert statements
-XdisableClassMetadata EXPERIMENTAL: Disables some java.lang.Class methods (e.g. getName())
-XdisableCastChecking EXPERIMENTAL: Disables run-time checking of cast operations
-validateOnly Validate all source code, but do not compile
-draftCompile Enable faster, but less-optimized, compilations
-optimize Sets the optimization level used by the compiler. 0=none 9=maximum.
-compileReport Create a compile report that tells the Story of Your Compile
-strict Only succeed if no input files have errors
-out The directory to write output files into (defaults to current)
-localWorkers The number of local workers to use when compiling permutations
and
module[s]
Specifies the name(s) of the module(s) to compile
Widgetset compilation failed
Vaadin version for the -war error:
6.8.7
GWT:
<gwt.version>2.3.0</gwt.version>
<gwt.plugin.version>2.3.0-1</gwt.plugin.version>
You do not seem to be using the latest Eclipse plug-in at least for the “-war” issue. I would recommend checking what errors (if any) you get with it.
The IllegalArgumentException looks like you have two conflicting versions of Eclipse JDT on your classpath - one from GWT, the other from somewhere else or another copy of a different version of GWT.
Also the “-war” issue looks like a build path issue: there is a newer GWT class on the classpath of the GWT compiler that makes it assume you are using a new GWT version with different parameters to the compiler. It is not obvious to me where that class would be in your case, although I did notice some of your dependencies came from your Maven cache and some (like the gwt-dev) from elsewhere by Eclipse. The detection problem could also be somehow related to one of the add-ons. If you are using Maven, it might be a good idea to also use Maven to compile the widgetset rather than using the Eclipse plugin for that.
In a new Vaadin 6.8.7 project, I did not have any problems with widgetset compilation with the latest plug-in.
In the one that works, the gwt-user JAR is managed by the Eclipse plugin whereas in the other project it is used from the Maven cache. Also some (optional) dependencies of gwt-user are only included in the one that works.
Check your Eclipse project build path for gwt-user and whether your pom explicitly includes gwt-user . Vaadin Eclipse plug-in does not try to manage GWT JARs at least if some are found configured explicitly on the project build path.
so I do explicitedly include it, since I need it otherwise there would be errors in new wigets I want to make.
Funny thing is, if I remove that gwt user dependency and then attempt (with errors) to compile widgetset, I get that same old Illegal Access Exception:
!ENTRY org.eclipse.jdt.core 4 4 2013-07-16 16:45:03.451
!MESSAGE Exception occurred in listener of Java element change notification
!STACK 0
java.lang.NoSuchMethodError: org.springsource.ide.eclipse.commons.core.SpringCoreUtils.buildProject(Lorg/eclipse/core/resources/IProject;Ljava/lang/String;)V
at org.springframework.ide.eclipse.core.internal.model.SpringModel$ClasspathChangedListener.elementChanged(SpringModel.java:341)
at org.eclipse.jdt.internal.core.DeltaProcessor$4.run(DeltaProcessor.java:1682)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1672)
at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1506)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1482)
at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2094)
at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:156)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
which is immediatelly gone when I return that dependency back… I am totally lost here what to do.
I should have same java everywhere (1.6 jdk) and build paths look fine…
Okay, after I figured out that it takes gwt user from repo and gwt dev from eclipse, I put gwt into dependencies and let it compile it with maven one (so they are same). But that thing is figting me like a devil. It requires validation-api-1.0.0.GA but I simply CANT PUT IT ANYWHERE to satisfy it. If it is in pom, nada, not included in -classpath argument to java, if it is in referenced build path, again nothing.
The only thing that works is to unzip the validation-api and put it in my project… wtf…
What I dont get is why do I get that beginRule exception if I dont provide any gwt via maven but I dont if I do provide them. And also why it does not include validation jar but does everything else…