Hi Andreas,

It looks like you're following the correct procedure, and you indicated that
you were able to load the application in devmode, but you're not seeing code
changes reflected when you Refresh the browser.  It might help if I explain
briefly how changes are *supposed* to be reflected, and suggest a few ideas
for things to check if refresh is not working:

- Client-side code changes should *always* be reflected when you click
Refresh in your browser during a devmode session, regardless of your source
folders' build output paths.  This is because GWT devmode is actually using
your .java source files, not the compiled .class files.  Double-check in
your launch configuration's Classpath tab that your source folders appear at
the top of the User Entries section.  If your gwt:run goal *does* correctly
reflect code changes in devmode when you Refresh, it would be useful to
compare the devmode process arguments in that case to the devmode process
created by the Eclipse launch configuration (you can find the arguments in
Eclipse by right-click > Properties the "java" process in the stacktrace
view in the Debug perspective).  Let me know if there are differences
between the two sets of arguments.

- Server-side code changes will only be reflected if the compiled .class
files are propagated to your runtime WAR directory's WEB-INF/classes
directory.  As you mentioned, one way to do this is to set your source
folders' build output paths to your runtime WAR directory's WEB-INF/classes
directory.  Of course, Eclipse must also be configured to build
automatically (Project > Build Automatically).  If server-side code refresh
is still not working, you might try making a change, and then manually
verifying that the runtime WAR directory is getting the new .class file in
WEB-INF/classes.

- Changes to your HTML/CSS/other static resources will need to be mirrored
in your runtime WAR directory (similar to server-side code changes).  I'm
not aware of any out-of-the-box solution for this if you're using a standard
Eclipse distribution (Eclipse Classic or Eclipse for Java developers).
 You'll need to stop devmode, do another 'mvn clean package', and then
launch devmode again.  However, if you're using Eclipse for Java EE, there
is a way to configure it to automatically push WAR resource changes while
devmode is running (this should answer your question in your #3 step).

Basically, you start by converting your project into a Dynamic Web Project.
 I don't know if you can automatically  migrate an existing project, but it
should be possible to create a new Dynamic Web Project and then simply
import your original project's source folders and build path entries.  Next,
you'll need to configure the Eclipse project to use 'src/main/webapp' as
your WAR directory instead of 'WebContent' (Eclipse default).  Close Eclipse
and edit the file at: <project
root>/.settings/org.eclipse.wst.common.component.  Find the <wb-resource>
element with a 'source-path' attribute of '/WebContent'.  Change the
attribute value to '/src/main/webapp', save the file, and re-open Eclipse.
 Now, when you start the project's configured server (Tomcat, Jetty, etc...
define a server in the Servers view), Eclipse will automatically propagate
changes in your source code and static resource files to your runtime WAR
directory.  However, in Eclipse for Java EE, this runtime WAR directory will
*not* be 'target/<exploded WAR>'.  Eclipse will instead create a staging
directory in a temporary location (by default,
<workspace>/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/<project>)
and *this* is the WAR directory you'll need to select when launching the Web
Application launch configuration.  One more note: Eclipse for Java EE will
also automatically push your updated .class files into
<WAR>/WEB-INF/classes, so no need to manually change your source folders'
build output paths.

Does that all make sense?  At launch, we'll be adding a couple new FAQ
entries to our documentation to explain the process of using the Google
plugin with Maven, with Eclipse for Java EE, and with both at once.
 Hopefully my instructions here will suffice in the meanwhile.  Let me know
if you need any further explanation or assistance.

Keith

On Sun, Mar 14, 2010 at 2:03 PM, andreas <[email protected]>wrote:

> Hey Keith,
>
> thanks for this detailed information. I just went through and followed
> them step by step.
>
> I started by creating a new maven project using gwt-maven archetype. I
> changed its pom.xml to use current versions of GWT 2.0.3 and Java 6.
> Then I enabled the GEP.
>
> 1. Set the war directoy as you said. When I first tried, I forgot to
> uncheck the "launch" checkbox but did it this time.
>
> 2. Did not have to delete old launch configurations since this is a
> new project. Created one by launching it via "Run As.." -> "Web
> Application" from GEP
>
> 3. I use Eclipse EE. On that first launch, I pointed the runtime WAR
> directory to the folder under "target" you mentioned. One thing I did
> not clearly understand: you said "unless you're also using Eclipse
> EE..."; well I do so where else should or could the runtime WAR
> directory point to? I also did a 'mvn clean package'.
>
> 4. Yes, yes and yes. The web application is displayed in the browser
> as expected.
>
> 5. Programm args:
> -remoteUI ${gwt_remote_ui_server_port}:${unique_id} -startupUrl
> index.html -logLevel INFO -port 8888 -war /home/ahorst/workspace/
> GWTEntryApp/target/GWTEntryApp-0.0.1-SNAPSHOT
> de.se.proced.GWTEntryApp.Application
>
> VM args:
> -Xmx512m
>
> Working directory:
> /GWTEntryApp/target/GWTEntryApp-0.0.1-SNAPSHOT
>
> So far it all worked. Unfortunately the "refresh" code changes does
> not work. I set output folders of src/main/java and src/main/resources
> to the WEB-INF/classes inside the working directory. Did this through
> the build path configuration.
>
> Code changes are not reflected upon refresh; neither in the browser
> (F5) or by restarting the server in the Development view.
>
> Nevertheless when I launch the gwt:run goal, it works.
>
> Could it be a gwt-maven property that stops "refresh" code changes?
> Besides the GWT and Java version I did not change anything. I guess I
> have to stick to the gwt-maven docs to find out if the exploded WAR is
> not set properly.
>
> On 12 Mrz., 18:15, Keith Platfoot <[email protected]> wrote:
> > Hi Andreas,
> >
> > Hm, not sure why you're seeing that error.  Let me ask a few questions to
> > see if we can get to the bottom of this.
> >
> > 1. You set the WAR directory to 'src/main/webapp' via the Google > Web
> > Application project properties page, right?  Did you also uncheck the box
> > below that says 'Launch and deploy from this directory'?  This is
> necessary
> > because the 'src/main/webapp' directory is not a complete WAR directory
> > (WEB-INF/lib and WEB-INF/classes are empty, etc.).
> >
> > 2. Are you launching the project using the regular Run/Debug As > Web
> > Application shortcut?  Did you make sure to first delete any other Web
> > Application launch configurations associated with the project?
> >
> > 3. When you launch, you should be prompted to select the runtime WAR
> > directory.  Unless you're also using Eclipse for Java EE, you'll probably
> > want to first do a 'mvn clean package' and then select the exploded WAR
> in
> > '/target/<AppName>-<version>' as your runtime WAR.
> >
> > 4. When you launch, are you seeing the Development Mode view appear at
> the
> > bottom of your workspace, with a URL to open in your browser?  Does the
> URL
> > have a ?gwt.codesvr=x.x.x.x:9997 at the end?  Does your web browser have
> the
> > GWT Development Mode plugin installed? (the browser should load a page to
> > prompt you if it's not installed).
> >
> > 5. After you launch, what are the arguments in the generated launch
> > configuration?  One of the features of 1.3 is the ability to
> inspect/tweak
> > the arguments via the regular Arguments tab in the launch configuration
> > dialog.  Let me know what your exact argument set is.
> >
> > Also: to see code changes reflected when you hit refresh, you'll need to
> get
> > the class files into your runtime WAR directory.  One simple way to do
> this
> > is by changing your build output path (probably just for src/main/java
> and
> > src/main/resources) to the WEB-INF/classes directory in your runtime WAR.
> >  This works, but it is a bit hacky.
> >
> > Alternatively, you can convert your project into a Dynamic Web Project in
> > Eclipse for Java EE, which provides automatic refresh-on-change behavior
> out
> > of the box.  It also creates a staging WAR directory by default so you
> don't
> > have to use the exploded WAR under /target.  If you're interested in this
> > approach, I can send you detailed instructions (which will also appear in
> > our FAQs after 1.3 launch).
> >
> > Keith
> >
> > On Fri, Mar 12, 2010 at 8:19 AM, andreas <[email protected]
> >wrote:
> >
> > > Hi Keith,
> >
> > > we are happy to test the preview version.
> >
> > > We are using Maven and the gwt-maven-project layout for our projects.
> > > We loved the dependency management and also clear code structure
> > > coming along with Maven but ran in the same problem mentioned a lot
> > > before: we could not get Google Eclipse Plugin run with our projects.
> >
> > > The first workaround was to use the gwt:run goal, which actually works
> > > fine and forget about GEP.
> >
> > > Now I still wanted to find out if we can use that nice web application
> > > run configuration of GEP again with the preview release. So I
> > > installed it and set the "war/" folder to "src/main/webapp" and tried
> > > to run our project as a web application.
> >
> > > It did not work and we got the error "project may need to be
> > > (re)compiled". I figured out that the launch configuration was missing
> > > all the generated js-files. When they are located in "src/main/webapp"
> > > it launches the web application, but apparently using the generated js-
> > > files. No changes to the java code are reflected upon refresh.
> >
> > > Am I missing something in the setup process of the GEP preview
> > > version?
> >
> > > On 4 Mrz., 01:25, Keith Platfoot <[email protected]> wrote:
> > > > Hi everyone,
> >
> > > > Last month, I announced some of the changes we had planned for the
> 1.3
> > > > version of the Google Plugin for Eclipse. To recap, this release is
> > > focused
> > > > on making life easier for developers using GWT/App Engine alongside
> > > > third-party tools, including Maven and Eclipse for Java EE. In my
> post, I
> > > > promised we'd let you download a preview of 1.3 to get some hands-on
> > > testing
> > > > of the new features and provide us with your feedback before the
> official
> > > > release.
> >
> > > > I'm happy to announce that the time has come. An early preview of 1.3
> is
> > > now
> > > > available for download at the following URLs:
> >
> > > >
> http://dl.google.com/eclipse/plugin/3.5/zips/com.google.gdt.eclipse.s...
> >
> > > >
> http://dl.google.com/eclipse/plugin/3.4/zips/com.google.gdt.eclipse.s...
> >
> > > >
> http://dl.google.com/eclipse/plugin/3.3/zips/com.google.gdt.eclipse.s...
> >
> > > > Note: Ensure that your version of Eclipse has Eclipse's Web Standard
> > > Tools
> > > > (WST) installed before installing the plugin. WST can be installed by
> > > > navigating to the Software Installation section, and selecting the
> the
> > > > appropriate WST feature from the update site for your version of
> Eclipse.
> > > > The update sites and feature names are provided below:
> >
> > > >    - 3.5 (Galileo): Galileo > Web, XML, and Java EE Development >
> Eclipse
> > > >    Web Developer Tools
> > > >    - 3.4 (Ganymede): Ganymede Update Site > Web and Java EE
> Development >
> > > >    Web Developer Tools
> > > >    - 3.3 (Europa): Europa Discovery Site > Web and JEE Development >
> Web
> > > >    Standard Tools Project
> >
> > > > This is a preview build, so the usual caveats and warnings apply: it
> is
> > > not
> > > > officially supported, and we recommend using a clean installation of
> > > Eclipse
> > > > and a new workspace. Also, we're distributing this preview as a zip
> file
> > > so
> > > > be sure to follow the instructions on our Installing the Google
> Plugin
> > > for
> > > > Eclipse from zip files page (
> > >http://code.google.com/eclipse/docs/install-from-zip.html).
> >
> > > > *Known Issues*
> >
> > > >    - If you change launch configuration settings in the Server or GWT
> > > tab,
> > > >    you'll need to switch to the Arguments tab before clicking Apply
> or
> > > >    Run/Debug.  This will be fixed in the final release.
> >
> > > > That being said, we are very interested in your experience with this
> new
> > > > release, which we hope will allow the Google plugin to interoperate
> much
> > > > better with alternative project structures and third-party tools. The
> > > > tentative 1.3 release notes are as follows:
> >
> > > > Enhancements
> >
> > > >    - Configurable WAR directory to allow better integration with
> Eclipse
> > > for
> > > >    Java EE <http://www.eclipse.org/downloads/moreinfo/jee.php> and
> > > projects
> > > >    built with Maven <http://maven.apache.org/>
> > > >    - Web Application launch configurations now display and allow
> editing
> > > of
> > > >    generated Program and VM arguments
> > > >    - Errors/Warnings preference page for customizing the severity of
> any
> > > >    generated problem marker
> > > >    - Projects can reference GWT/App Engine SDKs directly via JARs
> instead
> > > of
> > > >    through SDK library
> > > >    - GWT+App Engine projects automatically configured for optimal
> caching
> >
> > > > Fixes
> >
> > > >    - GWT Issue 3583<
> > >http://code.google.com/p/google-web-toolkit/issues/detail?id=3583>:
> > > >    Google Eclipse Plugin configuration is too strict
> > > >    - GWT Issue 3592<
> > >http://code.google.com/p/google-web-toolkit/issues/detail?id=3592>:
> > > >    Eclipse plugin to add 'cache forever' configuration for new 'GWT +
> App
> > > >    Engine' projects
> > > >    - GWT Issue 3902<
> > >http://code.google.com/p/google-web-toolkit/issues/detail?id=3902>:
> > > >    Allow users to configure the severity of problems reported by the
> > > eclipse
> > > >    plugin
> > > >    - App Engine Issue
> > > > 1515<http://code.google.com/p/googleappengine/issues/detail?id=1515
> >:
> > > >    Eclipse plugin requires fixed location for war directory
> > > >    - App Engine Issue
> > > > 2115<http://code.google.com/p/googleappengine/issues/detail?id=2115
> >:
> > > >    Using the @PersistenceAware annotation puts the Eclipse Enhancer
> in an
> > > >    Infinite Loop
> > > >    - App Engine Issue
> > > > 1941<http://code.google.com/p/googleappengine/issues/detail?id=1941
> >:
> > > >    Plugin fails to enhance dependent classes on source level changes
> >
> > > > For a complete list of fixed issues, see the GWT issue
> > > > tracker<
> > >http://code.google.com/p/google-web-toolkit/issues/list?can=1&q=label..
> .>
> > > >  and App Engine issue
> > > > tracker<
> > >http://code.google.com/p/googleappengine/issues/list?can=1&q=label:GP..
> .>
> > > > .
> >
> > > > We encourage all interested developers to take the preview build for
> a
> > > spin,
> > > > and let us know what you think. We'll do everything possible to
> > > incorporate
> > > > your feedback before the final release, slated for later this month.
> > > Thanks!
> >
> > > > Keith, on behalf of the Google Plugin for Eclipse team
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google Web Toolkit" group.
> > > To post to this group, send email to
> [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-web-toolkit%[email protected]>
> <google-web-toolkit%[email protected]<google-web-toolkit%[email protected]>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to