将参数传递给 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 自己的标志重叠时才需要 --。
我想为 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 自己的标志重叠时才需要 --。