我们已经使用maven打包我们的Java应用程序。
我们有一个包含应用程序代码和配置的精简app.jar
文件,以及一个包含所有依赖项jar的lib
文件夹。
在Windows上,一切运行良好。
我已将文件复制到unix,并将所有文件权限添加到每个jar。 运行时,应用程序会从lib文件夹中的一个jar中抛出此错误:
./lib/activemq-broker-5.9.0.jar: line 1: PK: command not found
./lib/activemq-broker-5.9.0.jar: line 2: NC: command not found
./lib/activemq-broker-5.9.0.jar: line 3: syntax error near unexpected token `)'
./lib/activemq-broker-5.9.0.jar: line 3: ½NCYzò Ó¯META-INF/MANIF
在unix上,这是命令行的格式:
java -cp app.jar;./lib/*; com.company.app.Start --param=value1 --param2=value1
我想知道是否有人看到任何明显的问题。
由于
答案 0 :(得分:2)
你必须在unix环境的classpath中使用:
作为分隔符:
java -cp app.jar:./lib/* com.company.app.Start --param=value1 --param2=value1
因为;
是一个命令分隔符。