前言
其实从这里开始,就和dubbo关系不大了。但是一个项目真正运行起来,不是在idea中点运行就好了,而是要打包成单独的文件,然后使用java命令运行。如果不形成打包的闭环,就不知道怎么部署应用,那我们的项目就只是处于开发阶段,还用不到生产环境
第一次打包
首先,配置好maven。包括环境变量等,直到在自己的终端(win下为cmd)中输入mvn有反应为止。
进入项目根目录,敲入mvn package,就会自动生成jar包啦~
Tips
maven有几大常用命令,和打包有关的一般要使用两个,一个叫clean,一个叫package。一般打包使用的命令为
mvn clean package
其实严格来说clean不算是打包命令,但是clean有一个效果,就是会先删去之前打包好的jar包。如果不删这个jar包,打包工作会是一个“取并集”的过程,如果只是修改&创建文件,那不会有什么问题;如果还涉及删除文件,那不clean打包出来的jar包就还会存在(之前被打包过)已经删除的文件。
所以为了避免自己犯一些低级错误(就是那种排查了半天发现原来是写错了一个字母这样的错误),还是每次都写一个clean吧
我想让打包之后的文件,复制到特定的目录下
刚刚的打包过程实在太简单了,之前做实验室项目的时候,师兄在说明文档里写的就是这简单的三个单词。于是我想拓展一下,因为每次打包之后文件都会存储在项目目录/target目录下,而我现在想将打包好的文件复制到某个特定目录下(后面你会看到,我们要把这个目录挂载到docker中),怎么办?
于是开始百度,发现了一个maven-antrun-plugin插件可以做这个事(参见maven项目antrun插件打包时拷贝文件用法)。于是在服务消费者和提供者的pom.xml中都添加如下内容
<properties>
<tgt.path>{在这里添加需要拷贝到的目标文件夹,绝对路径}</tgt.path>
<tgt.filename>${project.artifactId}-${project.version}.jar</tgt.filename>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>deploy</id>