Friday, January 24, 2014

Re: 2.6.0-rc3 and Jetty's WebAppContext (jetty-web.xml)

Hm... Okay, it's working on this machine. 

I start my app with Maven from a console (`mvn clean generate-sources gwt:run-codeserver`) and from Eclipse start a debug Remote Java Application for my project. 

Before all this (as in yesterday) I ran Web Application in Eclipse with the -noserver flag and killed it. The program arguments box looks like

-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -codeServerPort 9997 -noserver -war
/Library/Tomcat/catalina/webapps/myapp -startupUrl http://localhost:8080/myapp -logLevel TRACE 
com.corp.myapp.MyApp

(Eclipse insists on putting in all that you see before "-noserver" though I delete it.)

In Chrome I open an new tab, go to http://localhost:8080/myapp, click my Dev Mode On bookmark and Compile. I log in to my app. I can get to debug in my servlet and see the log written.

I log out and change a log entry in my servlet. I open a new tab in Chrome, etc., and I see the new message written in my log file. Interestingly (to me, at least) is that the date and time of the servlet class in /Library/Tomcat/catalina/webapps/myapp/WEB-INF/classes is still from yesterday. The update has occurred to the class file in target/MyApp-1.0-SNAPSHOT/WEB-INF/classes. That seems magical to me. Isn't my app running from Tomcat?

And, yes, if I make a change to, say, a *.ui.xml file and press my Compile bookmark, the change happens.

I'm a bit uncomfortable with the magic described above, but it is working. I'm working remote today, but when I'm back with my in my on Monday, I'll compare settings on that system and see why it wasn't working there. You can bet I'll ask again if something goes wrong (and I have other projects to convert to SuperDevMode).

Meanwhile if anyone cares to explain what I'm seeing with the *.class file updates, I'd appreciate it.

On Wednesday, January 22, 2014 5:46:44 PM UTC-5, Thad Humphries wrote:
Thanks, Jens. It's almost coming together, but not quite.

I've got Tomcat started with debug and I've got Eclipse linked to it (per http://wiki.apache.org/tomcat/FAQ/Developing). However when I make a change to my servlet, I don't see it reflected in the run. 

I've got the Eclipse Web Application DevMode -noserver option and -war /Library/Tomcat/catalina/webapps/myapp
I changed a line of debug in my servlet and ran this. The servlet's class file does not change, and the new log message does not appear. How do I make this work?

On Wednesday, January 22, 2014 4:25:43 PM UTC-5, Jens wrote:
or using -noserver and losing the Eclipse debugger

You don't loose Eclipse debugger when using -noserver. Just launch your app server of choice with debug enabled and then connect to it with Eclipse. You can also configure Eclipse to launch a Jetty of your choice (or any other supported app server) and let Eclipse deploy your application automatically to that Jetty instance (Eclipse WTP)

Personally I pretty much always use -noserver just because I want to use the same app server during development as for production. I don't think I loose anything (development speed, debugging, hot re-deploy) compared to using the build in Jetty of GWT.

-- J.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment