我编写了一个Spring Maven项目JAR。我的依赖项都在一个标记为lib的目录中。如何在指定JAR时执行我的JAR应该使用LIB / *作为类路径,并使用log4j.xml和名为marker.properties的属性文件。我的marker.sh
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
答案 0 :(得分:1)
java -cp /usr/local/Marker/marker-1.0.jar:"$LIB" ;/* com.package.Marker工作得很好。我需要在放置jar的文件夹中添加.properties文件和log4j.xml
答案 1 :(得分:0)
您可以使用-classpath
(或-cp
)标记指定类路径;例如:
〜$ java -jar package.jar -classpath / path / to / classpath / *
有关详细信息,请参阅以下documentation。