Questions about GWT and GAE with maven

I have a GWT 2.7 + GAE + maven project in Eclipse, and would like to try this in IDEA Ultimate 14.0.1 build 139.225 (on OSX Yosemite). I got IDEA installed and running, but after I imported my maven project I didn't see the goals from gwt-maven-plugin or appengine-maven-plugin in Maven Projects > [Project Name] > Plugins. I expected to see "gwt" and "appengine" there, but they're not. The process led me to a few questions...

1) Is there are better way to configure maven globally in IDEA than setting M2_HOME in the system environment? System level environment variables are cumbersome to set in OSX, and I'd rather not pollute the environment anyway. I saw a way to override the Maven home directory in Preferences > Build, Execution, Deployment > Build Tools > Maven, but this looks like just for the current project(?) as it says "For current project" at the top of the window, where I'd like to set it for IDEA globally, so it already uses the right maven executable even when creating and importing new projects.

2) What should I use for development tasks, IDEA's GWT and GAE facets described in the IDEA docs, the goals from the GWT Maven Plugin and Maven AppEngine Plugin, or both?

How I imagine this working is that I would import the maven project (pom.xml) and use the goals from the maven plugins to perform various operations like compiling (compile, gwt:compile), testing (test, gwt:test), starting the dev and code servers (gwt:run), deploying to app engine (appengine:update), etc. That way, maven would automatically download all the dependencies for me and handle these various development tasks, and I would know that I can take updates to these maven development goals right away. I also, ideally, wouldn't need to have either a GWT or GAE SDK installed and updated separately.

Will this work? Are there advantages or disadvantages to using the maven goals vs IDEA's facets?

3) And a related question, if I also want to configure IDEA's GWT and GAE facets, can I have them use the dependencies downloaded by maven for GWT and GAE, or do I have to install and separately update GWT and GAE SDKs, and keep them in sync with the versions I'm using from maven?

4) How come when I import my maven project, the 'gwt' and 'appengine' goals don't show up in Maven Projects > [Project Name] > Plugins? I can run them directly with the "Execute Maven Goal" button, but I shouldn't have to type them in every time, and would ultimately like to figure out how to assign keyboard shortcuts to executing the different goals.

Thanks for help in getting started with IDEA...

Please sign in to leave a comment.