我可以在没有JDK(仅限JRE)的机器中在Tomcat下运行Grails战吗?

时间:2010-05-10 17:26:14

标签: web-services tomcat grails java

我可以在没有JDK(仅限JRE)的机器中在Tomcat下运行Grails战吗?

我有一个Grails应用程序,可以在grails run-war或同一台计算机上的单独tomcat服务器中正常工作。

当我在具有JDK的服务器上部署.war时,我没有问题。

当我尝试在只有JRE的服务器中执行此操作时,该应用程序将无法运行。

功能

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(测试1)
  • tomcat 5.5(测试2)

无效的服务器

  • 所以:windows server 2003
  • app server:tomcat 2.2即服务,
  • java:1.6.0.18,(仅限JRE)
  • wsclient:groovyws-0.5.1.jar(minimal)(以及所有手工添加的附加费)

堆栈跟踪

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

2 个答案:

答案 0 :(得分:3)

GroovyWS需要javac动态创建存根,因此它需要JDK。

答案 1 :(得分:0)

需要编译JSP(即使它们处于战争中),因此需要有一个编译器。你不能只使用JRE。这是针对Java的东西,因为groovy很可能是相同的。