如图所示,需要把所有顶层模块的打包方式都设置成pom,所有需要打包的子模块的打包方式都改为jar,
很关键的一步:
在需要打包,并且有SpringBootApplication注解标注主类的子模块中的pom文件中加入:
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
为了读取到mapper中的内容,需要在父项目中加入以下配置:
<build>
<resources>
<resource>
<directory>src/main/javadirectory>
<includes>
<include>**/*.xmlinclude>
includes>
<filtering>falsefiltering>
resource>
resources>
build>
最后,项目的目录如下
总工程的:
<modules>
<module>servicemodule>
<module>commonmodule>
<module>infrastructuremodule>
modules>
service中的:
<modules>
<module>service_ucentermodule>
<module>service_devicemodule>
<module>service_ossmodule>
modules>
infrastructure中的:
<modules>
<module>api_gatewaymodule>
modules>
common中的:
<modules>
<module>service_basemodule>
<module>service_utilmodule>
modules>
如果遇到问题,可能是相互依赖的关系,比如某个模块直接引入了common依赖,但是common是父模块,没有jar包,所以把依赖改成common下的每个子模块即可。
顶层模块的打包顺序为:common ==> infrastructure ==> service
至此,每个子模块的jar包都会出现在target目录下。
可以进入到本地的maven仓库中进行查看
配置环境,见《项目部署》
需要将每个项目的配置文件放到jar包的同一目录下,这样才可以找到配置文件。否则会报错,配置文件不起作用。
java -jar service_device-0.0.1-SNAPSHOT.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?
java -jar shareniu.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
nohup java -jar shareniu.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
nohup java -jar shareniu.jar >/dev/null &
解释下 >temp.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
jobs
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。
查看某端口占用的线程的pid
netstat -nlp |grep :9181
le文件中。
jobs
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。
查看某端口占用的线程的pid
netstat -nlp |grep :9181