WSO2 API 管理器:chpasswd.sh 在使用外部数据库时不起作用 [英] WSO2 API Manager: chpasswd.sh does not work when using external database
问题描述
当使用脚本 ./chpasswd.sh 更改管理员密码时,它会读取所有 jar 文件以设置类路径.但它不会读取 $CARBON_HOME/repository/components/lib/*.jar 文件.当您使用 Oracle 等数据库时,将 ojdbc6.jar 文件放在此目录中.
When using the script ./chpasswd.sh to change the admin password, it reads all the jar files to setup a classpath. But it does NOT read the $CARBON_HOME/repository/components/lib/*.jar files. In this directory you put the ojdbc6.jar file when you use a database such as Oracle.
当我将 ojdbc6.jar 文件复制到 $CARBON_HOME/repository/lib 目录时,脚本就可以工作了.
When I copy the ojdbc6.jar file into $CARBON_HOME/repository/lib directory, the script works.
我的命令是:
./chpasswd.sh --db-url "jdbc:oracle:thin:@localhost:1521:orcl" --db-username wso2carbon -db-password wso2carbon --username admin --new-password nimda
这可能是脚本中的错误吗?
Could this be a bug in the script?
推荐答案
是的.. 我猜,根据脚本,你可以看到它添加了以下目录作为类路径..它不包含component/lib.此外,一旦 ant
脚本运行,它可能不会将 component/lib 中的 jars 复制到 repository/lib 中.
Yes.. I guess, according to the script, you can see that it adds following directories as the class path.. It does not contains component/lib. Also once ant
script is run, It may not copy the jars in component/lib in to repository/lib.
for f in "$CARBON_HOME"/lib/*.jar做CARBON_CLASSPATH=$CARBON_CLASSPATH:$f完成
for f in "$CARBON_HOME"/lib/*.jar do CARBON_CLASSPATH=$CARBON_CLASSPATH:$f done
for g in "$CARBON_HOME"/repository/lib/*.jar做CARBON_CLASSPATH=$CARBON_CLASSPATH:$g完成
for g in "$CARBON_HOME"/repository/lib/*.jar do CARBON_CLASSPATH=$CARBON_CLASSPATH:$g done
在$CARBON_HOME"/lib/api/*.jar 中的 h做CARBON_CLASSPATH=$CARBON_CLASSPATH:$h完成
for h in "$CARBON_HOME"/lib/api/*.jar do CARBON_CLASSPATH=$CARBON_CLASSPATH:$h done
这篇关于WSO2 API 管理器:chpasswd.sh 在使用外部数据库时不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!