2010-05-10 62 views
0

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

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

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

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

规格

的Grails应用

  • 的Grails 1.2.2。
  • groovyWS,
  • I18N模板

dev的PC

  • 赢得XP SP3
  • 2GB内存
  • 的Athlon 64×2
  • 的java:构建1.6.0_20-b02(JDK)
  • 的Tomcat:6.0.24(测试1)
  • 的Tomcat 5.5(测试2)

服务器不工作

  • 这样:在Windows Server 2003
  • 应用服务器:tomcat 2.2作为服务,
  • java:1.6.0.18,(ONLY JRE)
  • wsclient:groovyws-0.5.1.jar(最小)(和手工添加的所有depenedncies)

堆栈跟踪

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

我可以在没有JDK(仅JRE)的计算机上在Tomcat下运行Grails战争吗?:问题是:“我可以在没有JDK的计算机上与Web服务进行交战:答案是否定的。 – jspairani 2011-06-30 16:56:16

回答

3

GroovyWS需要javac动态创建存根,所以它需要JDK。

+0

“我可以在没有JDK的计算机上与Web服务进行交战”:答案将是否定的。正如Wanderson所说,jdk是必需的,另一件事是它必须在路上。 – jspairani 2011-06-30 16:57:42

0

JSP的需要进行编译(即使它们是在战争中),所以需要一个编译器。你不能只使用JRE。这是Java的东西,groovy最有可能是相同的。

+0

所以它可能是一个JDK它不在路径上,只是java_home。 (无法检查,家伙@服务器今天关闭= /)。 我想这个问题将是: 我可以用一个不在路径上的java_home使用grails战争吗? – jspairani 2010-05-10 17:40:18

相关问题