根據java官方說明:
《Dynamic code downloading using Java™ RMI(Using the java.rmi.server.codebase Property)》
https://docs.oracle.com/javase/7/docs/technotes/guides/rmi/codebase.html
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZj91YpB3IwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSPwITY3VkeMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLykzNxMjNwgTMwMjNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
java.rmi.server.codebase
指定的類加載位置URL可以是jar包,也可以是‘/’結尾的類路徑,但不可以是嵌套式的fat-jar包中的jar.比如spring-boot生成的fat-jar.
是以下面這樣的定義的URL是有效的:
-Djava.rmi.server.codebase=jar:file:/J:/authkernel/authkernel-jmx/target/authkernel-jmx-1.6.3.jar
但是下面這種引用jar包中的jar的URL就是無效的
-Djava.rmi.server.codebase=jar:file:/J:/facelog/facelog-service/target/facelog-service-4.1.1-SNAPSHOT-standalone.jar!/BOOT-INF/lib/faceapi-base-4.0.0.jar