一, springboot 打成本地maven的jar包(非直接运行依赖)
A打包,B使用
-
删除pom文件里的build
org.springframework.boot
spring-boot-maven-plugin
-
删除启动类
-
安装到本地maven的方式
- idea 里的install
- mvn install:install-file -Dfile=jar包的位置 -DgroupId=A的groupId -DartifactId=A的artifactId -Dversion=A的version -Dpackaging=jar
(在target路径下)mvn install:install-file -Dfile=database-0.0.1-SNAPSHOT.jar -DgroupId=com.gridsum.database -DartifactId=database -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
-
使用
在需要的项目pom.xml引入
com.wang.database
database
0.0.1-SNAPSHOT
5.可能存在的问题
注入依赖包A包的某些类报红
在使用B的项目的启动类加入
@SpringBootApplication
@ComponentScan("com.wang.database")
public class UsrdatabaseApplication {
public static void main(String[] args) {
SpringApplication.run(UsrdatabaseApplication.class, args);
}
}
//如果A项目本来需要在启动类上注解的东西,需要重新添加到B项目的启动类上(A的启动类不是被删除了吗)例如
@SpringBootApplication(exclude= {DruidDataSourceAutoConfigure.class, DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
HibernateJpaAutoConfiguration.class})
@ComponentScan("com.wang.database")
public class UsrdatabaseApplication {
public static void main(String[] args) {
SpringApplication.run(UsrdatabaseApplication.class, args);
}
}
二,springboot打直接运行包(可直接部署)
pom里要有<build>(猜测)
方式一:到target目录同级执行
mvn install(或package)
方式二:按照顺序运行mvn clean再mvn install(或package),我是用idea执行的。
运行
输入java -jar test.jar即可以运行这个jar。
win下后台运行jar
@echo off
copy "%JAVA_HOME%\bin\javaw.exe" "%JAVA_HOME%\bin\xxx.exe"
START "xxx" "%JAVA_HOME%\bin\xxx.exe" -jar xxx.jar
pause