maven 项目在本机上java -jar 没问题,在linux环境中java.lang.ClassNotFoundException

原因

  因为我是scp过去的,使用 java -cp 来设置 classpath 对于 jar来说是无效的,因为根据jar的安全规定,其内部的Class-Path 会起作用,外部的会被屏蔽掉(注意是屏蔽掉,不是覆盖掉) 

解决方法:

1动态的改变classpath(把相应的jar包也拷贝过来到linux目录中

java -Xbootclasspath/a:spring.jar;lib/commons-logging-1.1.jar -jar MyProject.jar  

(分隔符与classpath参数类似,unix使用:号,windows使用;)  

2当然,你把jar放到 {Java_home}\jre\lib\ext 这个目录下面也是可以的,应为JVM肯定会搜索这个目录

你可能感兴趣的:(#,Tool,------,Maven,Gradle)