gpt4 book ai didi

java - 为什么 nailgun 缓存命令行参数?

转载 作者:行者123 更新时间:2023-11-30 07:32:45 25 4
gpt4 key购买 nike

当通过 nailgun 运行 Jython 程序时,jython 程序总是以第一次运行时的命令行参数。

首先我启动钉枪:

arthur@a:~/nailgun$ java -jar nailgun.jar 
NGServer started on all interfaces, port 2113.

然后当我运行一个简单的 jython 脚本时:

import sys

print sys.argv

然后将 jython 添加到 nailguns 类路径

./ng ng-cp /usr/share/java/jython.jar 

然后以单词“first”作为参数运行脚本:

arthur@a:~/nailgun$ ./ng org.python.util.jython tmp.jy first
*sys-package-mgr*: can't create package cache dir, '/usr/share/java/jython.jar/cachedir/packages'
['tmp.jy', 'first']

以单词“second”作为参数再次运行它,并打印“first”

arthur@a:~/nailgun$ ./ng org.python.util.jython tmp.jy second
['tmp.jy', 'first']

并且从那时起总是打印“first”:

arthur@a:~/nailgun$ ./ng org.python.util.jython tmp.jy third
['tmp.jy', 'first']

最佳答案

nailgun 作者在这里。

Nailgun 在设计上不会缓存命令行参数,但单例和其他静态变量将在两次调用之间保留下来。

我不是 python 专家,但“sys.argv”用法对我来说确实看起来像一个单例。我建议查看 jython 的命令行参数处理,看看为什么它没有得到更新。

如果您这样做,请发布您的发现...它可能是钉枪中的东西,但我在使用多年后从未见过这种东西。

关于java - 为什么 nailgun 缓存命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6350976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com