Java 创建一个springboot可执行jar和一个常规的库jar
我有一个常规的Java项目,它创建了一个jar文件,这是一个Web应用程序中使用的东西库。它是一个创建jar的Spring启动程序。简单的东西 我希望能够将其作为一个独立的可执行jar文件运行。因此,我编写了一个实现CommandLineRunner的标准Application.java,并将其添加到我的插件中:Java 创建一个springboot可执行jar和一个常规的库jar,java,spring,maven,jar,Java,Spring,Maven,Jar,我有一个常规的Java项目,它创建了一个jar文件,这是一个Web应用程序中使用的东西库。它是一个创建jar的Spring启动程序。简单的东西 我希望能够将其作为一个独立的可执行jar文件运行。因此,我编写了一个实现CommandLineRunner的标准Application.java,并将其添加到我的插件中: <plugin> <groupId>org.springframework.boot</groupId> <artifactI
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
org.springframework.boot
springbootmaven插件
还有,我的jar是可执行的
然而,该插件改变了目录结构,使其不再是常规的库jar,并且我的webapplication无法在其中找到类。当我删除pom中的插件条目时,webapp工作正常,但jar不再是可执行的
两者都可以吗?如果是这样的话,怎么做?在Spring Boot 1.4.1之前是可能的,但从那以后就不可能了。1.4.1更改了可执行jar中的目录结构。对于1.4.1及之后的版本,jar可以是可执行的,也可以是库,但不能两者兼而有之
如果你真的需要同一个jar既是可执行文件又是库,那么你需要恢复到Spring Boot 1.4.0或更早版本。正确的方法是将普通的东西移动到单独的maven项目中,并在Spring Boot和你的web应用程序中引用它。或者,您可以使用maven组装插件生成第二个jar工件。