我正在使用一个spring引导应用程序,在使用maven构建我的项目之后,我可以看到我的应用程序的一个jar文件,它维护了以下文件夹结构

buddika@buddika-pc:~/Desktop/visitor-tracking-automation-api-server/bin$ ll /home/buddika/Desktop/api-0.0.1-SNAPSHOT/
total 32
drwxrwxr-x 6 buddika buddika 4096 Sep 18 22:51 ./
drwxr-xr-x 33 buddika buddika 12288 Sep 18 23:14 ../
drwxr-xr-x 4 buddika buddika 4096 Sep 18 22:08 BOOT-INF/
drwxr-xr-x 3 buddika buddika 4096 Sep 18 22:08 META-INF/
drwxr-xr-x 3 buddika buddika 4096 Sep 18 22:08 org/但问题就在红木包装纸上。它没有标识此(BOOT-INF/classes/com/visitor/tracking/automation/api/boot/APIServerStart)文件夹结构。

相反,在jar的文件夹结构之上,它期待下面的文件夹结构。我手动地将"com“文件夹从BOOT-INF带到前面。时间包装器是标识主类并工作的。

buddika@buddika-pc:~/Desktop/visitor-tracking-automation-api-server/bin$ ll /home/buddika/Desktop/api-0.0.1-SNAPSHOT/
total 32
drwxrwxr-x 6 buddika buddika 4096 Sep 18 22:51 ./
drwxr-xr-x 33 buddika buddika 12288 Sep 18 23:14 ../
drwxr-xr-x 4 buddika buddika 4096 Sep 18 22:08 BOOT-INF/
drwxr-xr-x 3 buddika buddika 4096 Sep 18 22:08 com/
drwxr-xr-x 3 buddika buddika 4096 Sep 18 22:08 META-INF/
drwxr-xr-x 3 buddika buddika 4096 Sep 18 22:08 org/我的问题是如何配置这个主类路径,而不需要手动地将"com“包放在前面。
有没有办法让"com“包放在前面,而不放进"BOOT-INF”
在wrapper.conf文件中使用了以下配置
wrapper.java.command=java
wrapper.working.dir=..
wrapper.java.mainclass=com.visitor.tracking.automation.api.boot.APIServerStarter
set.default.REPO_DIR=lib
set.default.APP_BASE=.发布于 2022-02-02 21:52:51
对我起作用的是将主类设置为org.springframework.boot.loader.JarLauncher,而不是我的应用程序的主类。
用于JAR档案的发射器。这个启动程序假设依赖jars包含在/BOOT-INF/lib目录中,应用程序类包含在/BOOT-INF/classes目录中。
这样,您就不必将包移动到jar的根目录--屏幕截图中显示的"org“文件夹应该已经有了通往JarLauncher的路径。
https://stackoverflow.com/questions/52391613
复制相似问题