将参数传递给 wsadmin 中的 jython 脚本

Pass arguments to jython script in wsadmin

我想为 CI 使用 wsadmin 来重新加载应用程序。为此,我写了一个 jython 脚本。但我需要将应用程序(例如 Homepage)传递给 python 脚本,以便它知道要重新启动哪个应用程序。

我试过了

wsadmin -lang jython -username user -password pw -f "D:\stop-app.py --name=Homepage"
wsadmin -lang jython -username user -password pw -f "D:\stop-app.py Homepage"
wsadmin -lang jython -username user -password pw -f D:\stop-app.py --name=Homepage

None 有效并导致错误

WASX7011E: Cannot find file "D:\stop-app.py test"

我的解决方法是使用环境变量。但我很感兴趣,为什么我不能用参数调用脚本或者如果可能的话需要这样做。

您应该能够通过 sys.argv 访问任何其他参数,甚至无需添加“--”来分隔它们。唯一不应该工作的是用 -f script.py.

将参数括在引号内
wsadmin ... -f script.py a b c
wsadmin ... -f script.py  -- a b c
wsadmin ... -f script.py -- -f

仅当您与 wsadmin 自己的标志重叠时才需要 --。