当通过nailgun运行Jython程序时,jython程序总是运行 第一次运行时的命令行参数。
首先我开始使用nailgun:
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”作为arguemnt运行脚本:
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']
答案 0 :(得分:4)
Nailgun不会按设计缓存命令行参数,但单例和其他静态变量将在调用之间存活。
我不是蟒蛇人,但“sys.argv”使用对我来说确实像个单身人士。我建议查看jython的命令行参数处理,看看为什么它没有得到更新。
如果你这样做,请发布你发现的东西......它可能是钉枪中的东西但是它不是我在几年的使用中见过的东西。