Java 使用shell文件运行jar,并指定类路径和属性文件路径
我已经编译了一个SpringMaven项目JAR。我的依赖项都在一个名为lib的目录中。如何在指定JAR的同时执行它,应该使用LIB/*作为类路径,还应该使用log4j.xml和一个名为marker.properties的属性文件。我的马克笔Java 使用shell文件运行jar,并指定类路径和属性文件路径,java,spring,shell,maven,jar,Java,Spring,Shell,Maven,Jar,我已经编译了一个SpringMaven项目JAR。我的依赖项都在一个名为lib的目录中。如何在指定JAR的同时执行它,应该使用LIB/*作为类路径,还应该使用log4j.xml和一个名为marker.properties的属性文件。我的马克笔 LIB=$INSTALL_PATH/lib echo "$LIB" # outputs usr/local/app/lib export CLASSPATH=$(JARS=("$LIB"/*.jar); IFS=:; echo "${JARS[*]}")
LIB=$INSTALL_PATH/lib
echo "$LIB" # outputs usr/local/app/lib
export CLASSPATH=$(JARS=("$LIB"/*.jar); IFS=:; echo "${JARS[*]}")
PARM="-Dlog4j.configuration=/usr/local/Marker/log4j.xml"
java $PARM -jar /usr/local/Marker/marker-1.0.jar
但是在运行这个程序时,我得到了以下错误,因为它无法在类路径中找到jar
Exception in thread "main"java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext at java.lang.Class.getDeclaredMethods0(Native method)
但是,这个命令可以从类路径加载jar,但是我无法添加属性文件
java -cp /usr/local/Marker/marker-1.0.jar:"$LIB"/* com.package.Marker
您可以使用-classpath或-cp标志指定类路径;例如: ~$java-jar-package.jar-classpath/path/to/classpath/*
有关更多信息,请参见以下内容。java-cp/usr/local/Marker/Marker-1.0.jar:$LIB/*com.package.Marker工作得非常好。我需要在放置jar的文件夹中添加.properties文件和log4j.xml