Can I run a Grails war under Tomcat in a machine without JDK (Only JRE)?
I have a Grails app that works fine in grails run-war or in a separate tomcat server in the same computer.
When I deploy this .war on a server that has a JDK, I have no problem.
When I try to do this in a server that only has a JRE, the application won’t work.
specs:
grails app:
- grails 1.2.2.
- groovyWS,
- i18n templates
dev pc:
- win xp sp3
- 2gb ram
- athlon 64 x 2
- java: build 1.6.0_20-b02 ( JDK )
- tomcat: 6.0.24 ( test 1 )
- tomcat 5.5 ( test 2 )
server that do not work:
- so: windows server 2003
- app server: tomcat 2.2 as a service ,
- java: 1.6.0.18 , ( ONLY JRE )
- wsclient: groovyws-0.5.1.jar ( minimal ) ( and all depenedncies added by hand )
Stacktrace
[ERROR] IOException during exec() of compiler "javac". Check your path environment variable.
2010-03-18 15:55:23,522 [http-8080-1] ERROR dynamic.DynamicClientFactory - Could not compile java files for http://SOMEURL/SOMEWS.asmx?WSDL.
2010-03-18 15:55:23,553 [http-8080-1] ERROR errors.GrailsExceptionResolver - "org.tempuri" doesnt contain ObjectFactory.class or jaxb.index
javax.xml.bind.JAXBException: "org.tempuri" doesnt contain ObjectFactory.class or jaxb.index
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:197)
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:349)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:196)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:175)
at groovyx.net.ws.AbstractCXFWSClient.createClient(AbstractCXFWSClient.java:198)
at groovyx.net.ws.WSClient.initialize(WSClient.java:107)
at groovyx.net.ws.IWSClient$initialize.call(Unknown Source)
GroovyWS needs javac to create stubs dynamically, so it needs JDK.