I am facing this weird requirement where I am supposed to create a web page using GWT widgets in an existing spring-maven web project but the corp security doesn't allow me to install any Eclipse plugins. I have the latest SDK but thats about it.
Is there any way to achieve this?
The Google Plugin for Eclipse (GPE), just like so many other Eclipse plugins, is not mandatory; it's just an aid.
But first, if “the corp security doesn't allow me to install any plugin” only means you're not allowed to use the Eclipse marketplace or contact update sites, it's worth mentionning that you can download the update site as a ZIP to be used locally: https://developers.google.com/eclipse/docs/install-from-zip
If that isn't allowed either, then let's look at the features provided by the GPE and how you can possibly do the same without the plugin:
Wizard for creating new projects: you're in a Maven project, so you're not concerned.
Running and debugging: you can do the same with a Java Application launcher. Choose
com.google.gwt.dev.DevMode
as the Main Class, add thecom.google.gwt:gwt-dev
JAR to the classpath (you can also add it as a dependency with scopeprovided
, and ignore the warning printed by thegwt-maven-plugin
) if needed, add your source folders to the classpath and pass the appropriate arguments.Wizards: let's be honest, they won't boost your productivity that much.
GWT Compilation: you can do the same with a Java Application launcher. Choose the
com.google.gwt.dev.Compiler
as the Main Class, addgwt-dev
and your source folders to the classpath and pass the appropriate arguments.Editors: you'll lose the formatting and highlighting of JSNI methods, as well as reference checking of your JSNI references, the auto-complete in UiBinder, and validation of UiBinder and ClientBundle references. All those will be done only when you GWT-compile your project.
RPC: you'll lose the validation of your RPC interfaces and quick-fix to keep your sync and async interfaces in sync. Validation will be done only when you GWT-compile your project.
JUnit: you can do the same with a JUnit launcher: just make sure you add
gwt-dev
and your source folders to the classpath, and pass the appropriate options as agwt.args
system property (see “Passing Arguments to the Test Infrastructure” in the docs).Nothing insurmountable.