【发布时间】:2018-02-13 14:32:37
【问题描述】:
我正在使用 spring boot maven 插件,它为我创建了一个包含依赖项的 jar。问题是,我需要作为 Windows 服务启动,而 WinSW 需要一个启动类。事情是所有的依赖都隐藏在BOOT-INF/lib 和BOOT-INF/classes 中的类。
my-boot.jar
\
\BOOT-INF
\BOOT-INF\lib (jar dependencies)
\BOOT-INF\classes (compiled output)
\org\springframework... (Spring boot loader)
\com\mejmo\ServiceHelper.class <- here should be my class
我需要一些方法在类路径级别添加我的类(在 jar 的根目录中,以及 org.springframework.loader.* 这是 Spring Boot 应用程序的启动顺序 + 类加载器)。该服务不能直接调用spring boot loader,而是在我处理启动/停止命令的类的帮助下。
我正在使用https://github.com/snicoll-scratches/spring-boot-daemon,但它将所有依赖项复制到lib/,以便Windows 服务可以加载包含自定义类的jar。问题是当所有依赖项都在 jar 中时。
有什么方法可以在 jar 中以引导顺序级别打包我的自定义类?我想只用 maven 来做,不需要任何手动复制,构建应该在 CI 中自动创建。
spring boot maven插件中的自定义布局参数有用吗?
更新:我发现我的 ServiceHelper 课程也需要 org.springframework.boot.*!所以这使它变得更加复杂:(
【问题讨论】:
标签: java spring-boot spring-boot-maven-plugin