Hi Keith,

I'm looking for the classpath settings now. Here's what "mvn gwt:run"
uses:

/bin/sh -c /usr/lib/jvm/java-6-sun-1.6.0.15/jre/bin/java -Xmx512m -
classpath "/home/ahorst/workspace/App/src/main/java":"/home/ahorst/
workspace/App/src/main/resources":"/home/ahorst/workspace/App/war/WEB-
INF/classes":"/home/ahorst/.m2/repository/com/google/gwt/gwt-servlet/
2.0.3/gwt-servlet-2.0.3.jar":"/home/ahorst/.m2/repository/com/google/
gwt/gwt-user/2.0.3/gwt-user-2.0.3.jar":"/home/ahorst/.m2/repository/
com/google/gwt/gwt-dev/2.0.3/gwt-dev-2.0.3.jar"
com.google.gwt.dev.DevMode -war "/home/ahorst/workspace/App/war" -gen
"/home/ahorst/workspace/App/target/.generated" -logLevel INFO -port
8888 -startupUrl "com.my.example.App.Application/Application.html"
com.my.example.App.Application

While the run configuration of GEP lists the following entries:

- Bootstrap Entries
  - JRE System Library [JavaSE-1.6]
- User Entries
  - java - /App/src/main/
  - resources - /App/src/main/
  - java - /App/src/test/
  - App (default classpath)
    - App
    - Maven Dependencies
    - GWT SDK [GWT - 2.0.3]

The java source folder is the first entry, but no code changes
reflected on refresh with the GEP run configuration. "mvn gwt:run"
though does it. Are the Bootstrap Entries conflicting here?

On 15 Mrz., 21:05, Keith Platfoot <[email protected]> wrote:
> @Andreas: Forgot to mention that if you're *not* using Eclipse for Java
> EE, when you make changes to server-side code, you will also need to restart
> GWT embedded Jetty instance.  For GWT 2.0+, click the Restart Server button
> in the Development Mode view, or for older versions of GWT, the Reload
> Server button on the Hosted Mode shell toolbar.
>
> Keith
>
> On Mon, Mar 15, 2010 at 2:27 PM, Keith Platfoot <[email protected]>wrote:
>
> > 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
>
> ...
>
> Erfahren Sie mehr »

-- 
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