我如何在带有-Dloader.path args的Spring Boot应用程序启动中使用/path/test-*.jar
类型的路径。
我试着做
java -Dserver.port=8090 -Dloader.path=/path/test*.jar, myJar.jar -jar myJar.jar org.springframework.boot.loader.PropertiesLauncher
但它引发以下异常:
java.lang.IllegalArgumentException: File must exist
at org.springframework.boot.loader.data.RandomAccessDataFile.<init>(RandomAccessDataFile.java:67)
at org.springframework.boot.loader.data.RandomAccessDataFile.<init>(RandomAccessDataFile.java:51)
at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:95)
at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:61)
at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:57)
at org.springframework.boot.loader.PropertiesLauncher.getArchive(PropertiesLauncher.java:492)
at org.springframework.boot.loader.PropertiesLauncher.getClassPathArchives(PropertiesLauncher.java:469)
at org.springframework.boot.loader.PropertiesLauncher.getClassPathArchives(PropertiesLauncher.java:444)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:60)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:609)
还是它必须是目录或jar的绝对路径?
最佳答案
如the documentation中所述
可以包含目录(对jar和zip文件进行递归扫描),归档路径或通配符模式(对于默认的JVM行为)。
您必须将test*-.jar
放在目录中,并将引用添加到该目录。