Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Trinidad(JRuby和Ror3)时从lib目录重新加载JAR_Java_Ruby On Rails 3_Jruby_Trinidad Gem - Fatal编程技术网

Java 使用Trinidad(JRuby和Ror3)时从lib目录重新加载JAR

Java 使用Trinidad(JRuby和Ror3)时从lib目录重新加载JAR,java,ruby-on-rails-3,jruby,trinidad-gem,Java,Ruby On Rails 3,Jruby,Trinidad Gem,有没有人在使用特立尼达时实现了Java库(甚至编译的Java类)的热部署 我的Rails应用程序运行在特立尼达岛上,依赖于Java后端,该后端在MyRails/lib/Java下打包了尽可能多的JAR。当其中一个JAR发生变化时,特立尼达服务器不会重新加载它触摸tmp/restart.txt仅重新加载应用程序上下文 请注意,我的问题与config.autoload_路径无关,因为据我所知,此选项仅用于重新加载Ruby文件 已更新 我未能实现java依赖项的热部署,于是放弃了。唯一对我有帮助的是

有没有人在使用特立尼达时实现了Java库(甚至编译的Java类)的热部署

我的Rails应用程序运行在特立尼达岛上,依赖于Java后端,该后端在
MyRails/lib/Java
下打包了尽可能多的JAR。当其中一个JAR发生变化时,特立尼达服务器不会重新加载它
触摸tmp/restart.txt
仅重新加载应用程序上下文

请注意,我的问题与
config.autoload_路径
无关,因为据我所知,此选项仅用于重新加载Ruby文件


已更新

我未能实现java依赖项的热部署,于是放弃了。唯一对我有帮助的是每次在本地启动的单元测试,以检查我的代码。

我认为如果.jar没有重新加载,那可能是Trinidad bug(因为在上下文重新启动期间,应该重新添加jar-假设Tomcat默认这样做-我不确定)。。。如果知道细节(在特立尼达的跟踪器中)会很好,例如,如果jar的名称相同,那么配置看起来如何(如果有的话)

另一种选择是尝试滚动重启,因为创建了一个全新的上下文,因此它应该从文件系统中获取上下文所依赖的任何内容


请注意,特立尼达故意禁用了文件更改时的自动重新加载功能,例如更改.jar文件(即使可以与Tomcat一起使用)-您需要“显式”(触摸…)以请求重新启动。

谢谢您的时间,但是我写道显式的
touch tmp/restart.txt没有帮助。我主要是建议尝试滚动重启,而不是默认的
reload\u策略:
。。。目前还不清楚是否已经进行了试验。无论如何,你应该报告这一点,如果你也有一个简单的应用程序来复制,这将是非常有帮助的。谢谢