通過filter過濾的形式進行打包,只出那些包下的資源需要被過濾,進行值替換
## 1. 配置過濾
```
<build>
<finalName>manage</finalName> //項目打包名稱
<plugins> //使用插件
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<resources> //資源管理
<resource>
<directory>src/main/java</directory>
<filtering>false</filtering> //1.指出對java目錄下的資源不進行過濾
<includes>
<include>**/*.xml</include> //1.1 xml文件打包進去,沒有值的過濾替換
<include>**/*.class</include> //1.2 java文件打包進去,沒有值的過濾替換
</includes>
</resource>
<resource>
<directory>src/main/resources</directory> //2.指出對resources目錄下的資源不進行過濾
<filtering>false</filtering>
<includes>
<include>**/*.xml</include> //2.1 xml文件打包進去,沒有值的過濾替換
<include>**/*.bpmn</include>//2.2 bpmn文件打包進去,沒有值的過濾替換
<include>**/*.pdf</include>//2.3 pdf文件打包進去,沒有值的過濾替換
<include>**/*.cab</include>//2.1 cab文件打包進去,沒有值的過濾替換
<include>**/*.docx</include>//2.1 docx文件打包進去,沒有值的過濾替換
<include>**/*.doc</include>//2.1 doc文件打包進去,沒有值的過濾替換
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering> //3 進行過濾
<includes>
<include>**/*.properties</include> //打包進去,但是進行過濾值替換
<include>**/*.conf</include> //打包進去,但是進行過濾,替換
</includes>
</resource>
</resources>
</build>
```


如使用prod打包,則使用metadb_config-prod.properties中的變量替換metadb_config.properties(注意文件名)


### 1.1 ` <build>`
編譯設置,一般有兩種方式:
1.全局配置(project build)
針對整個項目的所有情況都有效,即是<project>標簽的直接子元素。
2.配置(profile build)
針對不同的profile配置,即是<profile>的直接子元素。
3. 相關配置項
1)defaultGoal
> 執行build任務時,如果沒有指定目標,將使用的默認值。
2)directory
> build目標文件的存放目錄,默認在${basedir}/target目錄
3)finalName
> build目標文件的名稱,默認情況為${artifactId}-${version}
4)filter
> 定義*.properties文件,包含一個properties列表,該列表會應用到支持filter的resources中。
也就是說,定義在filter的文件中的name=value鍵值對,會在build時代替${name}值應用到resources中。
maven的默認filter文件夾為${basedir}/src/main/filters
## 2. 使用過濾,對上邊的進行過濾
```
<profiles>
<profile>
<id>dev</id>
<build>
<filters>
<filter>src/main/resources/filters/metadb_config-dev.properties</filter>
<filter>src/main/resources/filters/fdfs_client-dev.conf</filter>
</filters>
</build>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>qa</id>
<build>
<filters>
<filter>src/main/resources/filters/metadb_config-qa.properties</filter>
<filter>src/main/resources/filters/fdfs_client-qa.conf</filter>
</filters>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<filters>
<filter>src/main/resources/filters/metadb_config-prod.properties</filter>
<filter>src/main/resources/filters/fdfs_client-prod.conf</filter>
</filters>
</build>
</profile>
</profiles>
```
mvn clean install -P qa
- 計算機網絡
- 基礎_01
- tcp/ip
- http轉https
- Let's Encrypt免費ssl證書(基于haproxy負載)
- what's the http?
- 網關
- 網絡IO
- http
- 工具
- Git
- 初始本地倉庫并上傳
- git保存密碼
- Gitflow
- maven
- 1.生命周期命令
- 聚合與繼承
- 插件管理
- assembly
- 資源管理插件
- 依賴范圍
- 分環境打包
- dependencyManagement
- 版本分類
- 找不到主類
- 無法加載主類
- 私服
- svn
- gradle
- 手動引入第三方jar包
- 打包exe文件
- Windows
- java
- 設計模式
- 七大原則
- 1.開閉原則
- 2. 里式替換原則
- 3. 依賴倒置原則
- 4. 單一職責原則
- 單例模式
- 工廠模式
- 簡單工廠
- 工廠方法模式
- 抽象工廠模式
- 觀察者模式
- 適配器模式
- 建造者模式
- 代理模式
- 適配器模式
- 命令模式
- json
- jackson
- poi
- excel
- easy-poi
- 規則
- 模板
- 合并單元格
- word
- 讀取
- java基礎
- 類路徑與jar
- 訪問控制權限
- 類加載
- 注解
- 異常處理
- String不可變
- 跨域
- transient關鍵字
- 二進制編碼
- 泛型1
- 與或非
- final詳解
- Java -jar
- 正則
- 讀取jar
- map
- map計算
- hashcode計算原理
- 枚舉
- 序列化
- URLClassLoader
- 環境變量和系統變量
- java高級
- java8
- 1.Lambda表達式和函數式接口
- 2.接口的默認方法和靜態方法
- 3.方法引用
- 4.重復注解
- 5.類型推斷
- 6.拓寬注解的應用場景
- java7-自動關閉資源機制
- 泛型
- stream
- 時區的正確理解
- StringJoiner字符串拼接
- 注解
- @RequestParam和@RequestBody的區別
- 多線程
- 概念
- 線程實現方法
- 守護線程
- 線程阻塞
- 筆試題
- 類加載
- FutureTask和Future
- 線程池
- 同步與異步
- 高效簡潔的代碼
- IO
- ThreadLocal
- IO
- NIO
- 圖片操作
- KeyTool生成證書
- 壓縮圖片
- restful
- 分布式session
- app保持session
- ClassLoader.getResources 能搜索到的資源路徑
- java開發規范
- jvm
- 高并發
- netty
- 多線程與多路復用
- 異步與事件驅動
- 五種IO模型
- copy on write
- code style
- 布隆過濾器
- 筆試
- 數據庫
- mybatis
- mybatis與springboot整合配置
- pagehelper
- 分頁數據重復問題
- Java與數據庫之間映射
- 攔截器
- 攔截器應用
- jvm
- 堆內存測試
- 線程棧
- 直接內存
- 內存結構
- 內存模型
- 垃圾回收
- 調優
- 符號引用
- 運行參數
- 方法區
- 分帶回收理論
- 快捷開發
- idea插件
- 注釋模板
- git
- pull沖突
- push沖突
- Excel處理
- 圖片處理
- 合并單元格
- easypoi
- 模板處理
- 響應式編程
- reactor
- reactor基礎
- jingyan
- 規范
- 數據庫