Vaadin 7 project from Git can't find any vaadin classes

I created a new Vaadin 7 project and built a small app (just trying out Vaadin 7 for first time - using Eclipse Juno, Vaadin 7 plugin, EGit plugin, JDK 7).

I wanted to share it with a friend, so I published it to a Git repository (in this case, BitBucket).

My friend set up a similar environment for this test. He was able to connect to the Git repo, pull down the project and Import it into Eclipse. However, his project has an error for every time a Vaadin class is used (not found). (There are other .jars and other libraries like BIRT in the project and they seem to be “visible”.)

It appears as though (i.e. behaves as if) Eclipse “sees” the project imported from the Git repository as a standard project - like it isn’t a Vaadin 7 project.

Is this expected behavior? Is there a way to turn an existing project into a Vaadin 7 project (or some other way to fix)?

I modified the project so that we manage all the libs manually and it works fine for us. Historically, this was not an issue for projects created using Vaadin 6 (for us, anyway).

This is an issue with how Eclipse (and its version control providers) imports projects from version control and isn’t really Vaadin specific. There are big differences between different version control providers (EGit differs from Subclipse etc.) and Eclipse versions with respect to how this works.

If the project files (“.project” and “.classpath” and optionally “.settings”) are in version control, Eclipse can use those to recreate the same project metadata - assuming they are written in a portable way, which they often aren’t if automatically generated. Instead, .classpath can contain absolute paths, references to a very specific JDK version etc. Again, this is Eclipse and its plugins rather than Vaadin. Usually those files aren’t committed in version control in a multi-developer project, at least without being first edited (often by hand) to be portable.

One can turn a generic project into a faceted project with the Dynamic Web Module and Vaadin facets in project properties, but it is much easier to get everything right when importing the project.