运行shell脚本时出错
我无法找出运行批处理文件时出现的错误 以下是shell脚本:运行shell脚本时出错,shell,Shell,我无法找出运行批处理文件时出现的错误 以下是shell脚本: WARNING: error instantiating 'java.util.logging.FileHandler,' referenced by handlers, class not found java.lang.ClassNotFoundException: java.util.logging.FileHandler, at java.lang.Class.forName(libgcj.so.7rh) at j
WARNING: error instantiating 'java.util.logging.FileHandler,' referenced by handlers, class not found
java.lang.ClassNotFoundException: java.util.logging.FileHandler,
at java.lang.Class.forName(libgcj.so.7rh)
at java.util.logging.LogManager.locateClass(libgcj.so.7rh)
at java.util.logging.LogManager.createInstance(libgcj.so.7rh)
at java.util.logging.LogManager.readConfiguration(libgcj.so.7rh)
at vists.VisTS.main(VisTS.java:64)
Exception in thread "main" java.lang.NullPointerException
at java.util.logging.Logger.addHandler(libgcj.so.7rh)
at java.util.logging.LogManager.readConfiguration(libgcj.so.7rh)
at vists.VisTS.main(VisTS.java:64)
./SampleStartVisTsData.sh: line 5: cd..: command not found
需要帮助。您有cd。。在第5行,您应该有cd。。(注意空格)您有cd。。在第5行,您应该有cd。。(请注意空格)其中一个错误是“
cd..
”命令,如果它不是冗余的,它将需要在“cd..
”中有一个空格。您的脚本更改目录以在正确的位置运行Java,但在退出之前无需再次更改目录-这是Linux而不是DOS(这是必需的;退出的cd
不会将您返回到开始的位置)
更改到classes目录,然后期望在上面的目录中找到jar文件,这似乎很奇怪-您确定这是正确的吗
确保第一张cd
也能正常工作可能是明智的:
cd ../../classes
export CLASSPATH=$CLASSPATH:../vismine.jar:../mysql-connector-java-5.1.6-bin.jar
java -Xm500m vists.VisTS ../ConfigFiles/dataCenterMySQL-log.xml
cd..
原则上,您可以通过编写以下命令单独导出Java命令的类路径:
error(){
echo "$@" 1>&2
exit 1
}
cd ../../classes || exit 1
[ -r ../vismine.jar ] || error "did not find vismine.jar"
[ -r ../mysql-connector-java-5.1.6-bin.jar ] ||
error "did not find mysql-connector-java-5.1.6-bin.jar"
export CLASSPATH=$CLASSPATH:../vismine.jar:../mysql-connector-java-5.1.6-bin.jar
java -Xm500m vists.VisTS ../ConfigFiles/dataCenterMySQL-log.xml
但是,这一次不值得,因为它无论如何都会分布在两行代码上。其中一个错误是“
cd..
”命令,如果它不是冗余的,它需要在“cd..
”中留一个空间。您的脚本更改目录以在正确的位置运行Java,但在退出之前无需再次更改目录-这是Linux而不是DOS(这是必需的;退出的cd
不会将您返回到开始的位置)
更改到classes目录,然后期望在上面的目录中找到jar文件,这似乎很奇怪-您确定这是正确的吗
确保第一张cd
也能正常工作可能是明智的:
cd ../../classes
export CLASSPATH=$CLASSPATH:../vismine.jar:../mysql-connector-java-5.1.6-bin.jar
java -Xm500m vists.VisTS ../ConfigFiles/dataCenterMySQL-log.xml
cd..
原则上,您可以通过编写以下命令单独导出Java命令的类路径:
error(){
echo "$@" 1>&2
exit 1
}
cd ../../classes || exit 1
[ -r ../vismine.jar ] || error "did not find vismine.jar"
[ -r ../mysql-connector-java-5.1.6-bin.jar ] ||
error "did not find mysql-connector-java-5.1.6-bin.jar"
export CLASSPATH=$CLASSPATH:../vismine.jar:../mysql-connector-java-5.1.6-bin.jar
java -Xm500m vists.VisTS ../ConfigFiles/dataCenterMySQL-log.xml
但是,这一次不值得,因为它无论如何都会扩展到两行代码。这当然是问题之一。这当然是问题之一。