带有第三方库的GWT应用程序在开发模式下工作,但不在部署模式下工作

带有第三方库的GWT应用程序在开发模式下工作,但不在部署模式下工作,gwt,gwt-rpc,Gwt,Gwt Rpc,我正在开发一个GWT应用程序,并且正在使用第三方Java-R包装库。这将被转换成Java字节码,并(我猜)通过R库调用一些方法。。我能够成功地让它在eclipse开发模式下工作 为了让它工作,我必须将.jar添加到类路径中,并添加到java路径(在运行配置->环境变量下)变量中,以添加包含程序执行所需的几个.dll的文件夹的位置 在开发模式下,一切似乎都很好,但当我通过Tomcat7部署它时,一切似乎都坏了。当我在GWT中修改环境变量时,还需要做什么 最初,Tomcat服务器会因为以下原因崩溃:

我正在开发一个GWT应用程序,并且正在使用第三方Java-R包装库。这将被转换成Java字节码,并(我猜)通过R库调用一些方法。。我能够成功地让它在eclipse开发模式下工作

为了让它工作,我必须将.jar添加到类路径中,并添加到java路径(在运行配置->环境变量下)变量中,以添加包含程序执行所需的几个.dll的文件夹的位置

在开发模式下,一切似乎都很好,但当我通过Tomcat7部署它时,一切似乎都坏了。当我在GWT中修改环境变量时,还需要做什么

最初,Tomcat服务器会因为以下原因崩溃:

May 06, 2013 4:08:22 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/r] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
我对代码做了一些不同的修改,现在它只是进入了一个无限while循环。然而,这些细节对我的问题似乎并不重要

我假设有两种方法可以使用GWT的第三方库

  • 它只是一个Jar,您只需将它包括在内(以及在您的web-inf/lab中),一切都可以正常工作
  • 您使用一个Jar和一堆其他.dll,在项目的环境变量中设置它们的路径。这就是我所做的,同样,它在开发模式下工作,但在部署模式下不工作

  • 非常感谢所有反馈/建议。谢谢

    包含在类路径中的jar在服务器运行时不可用,如果不想将它们显式地放在WEB-INF/lib中,可以尝试将这些jar复制到tomcat的server/lib文件夹中

    因为您还有.dll,所以它们需要通过传递jvm参数进行设置

    java -Djava.library.path=/dlls.folder
    
    对于tomcat,您可以编辑bin/startup.sh(或.bat)并修改java.library.path变量,在某些系统中,您可能还需要设置LD_library_path变量
    参见类似的讨论

    您是否从服务器端调用第三方库的代码?确实如此。我正在使用示例GWT应用程序,并在GreetingServiceImpl.java中的包my.app.server中修改greetServer(字符串输入)方法。事情是这样的,我有1个Jar文件和大约6个.dll文件。tomcat的lib文件夹中填充了.jar。够了吗???我明白了。我一定会试试这个。将不过,快速提问(我使用的是windows tomcat)应该执行C:\Path\to\lib\或C:\Path\to\lib