【发布时间】:2018-05-23 03:12:29
【问题描述】:
我有一个常规的 Java 项目,它创建一个 jar 文件,该文件是一个在 webapp 中使用的东西库。这是一个创建 jar 的 Spring Boot 启动器。简单的东西。
我希望能够将其作为独立的可执行 jar 文件运行。所以我编写了一个实现 CommandLineRunner 的标准 Application.java 并将其添加到我的插件中:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
然后,我的 jar 是可执行的。
但是,该插件更改了目录结构,使其不再是常规库 jar,并且我的 web 应用程序无法在其中找到类。当我删除 pom 中的插件条目时,webapp 工作正常,但 jar 不再可执行。
两者都可以吗?如果有,怎么做?
【问题讨论】:
-
正确的做法是将常用的东西移动到单独的 maven 项目中,并在 Spring Boot 和您的 Web 应用程序中引用它。或者,您可以使用 maven 程序集插件生成第二个 jar 工件。