1 - smart(Maven:Package,Install,&,Log4j2)
阿新 • • 發佈:2019-03-09
break 不能 isl res 文件 過濾器 support .json hover
-------------------------------------------2018-5-14修改----------------------------------------
在打包為jar包的時候,一般是會將src/main/java和src/main/resources下的文件打包到jar中,從目錄的生成角度來看則只是將WEB-INF下的classes數據進行了打包,其中包含class文件和resources的配置文件,如下圖截圖所示:
,對於webapp中的靜態文件卻一般不會被打包到jar文件中,那麽既然一般不會將靜態文件打包到jar包中,那麽阿裏的Druid的jar包中是如何包含靜態文件的呢?相信用過Druid作為項目的鏈接池的都清楚,Druid中內置的有圖形化頁面展示可以查看項目中的數據庫連接狀態,請求url的反應快慢等信息,那麽在正常jar打包不能包含靜態資源文件的同時,Druid的jar中是如何包含靜態文件的呢?看其源碼便可知,
Druid jar中的文件形式為,META-INF和com包以及support的包結構,其中比較有意思的是,靜態的html文件則是放置到support的包下面的,即druid的jar形式中,html的靜態資源文件並不是放置到webapp下的,而是直接根據classpath路徑直接放到java的包下面的,
即src/main/java下面除了有java文件外還存放的有html靜態資源文件,所以在打包為jar包後,則才會存在有靜態的資源文件存在,那麽第二個問題則是,Druid按照上述所展示的文件路徑方式來看的話,的確是可以正常存儲靜態資源文件的,那麽對於所產生出的日誌信息,Druid中是如何記錄的?1. druid中將所產生的日誌信息,存儲到json文件中,在html展示數據的時候,動態的從json文件中取出數據進行展示,2. 由於druid長期的使用過程當中,會產生很多的日誌數據,此時也可以配置druid的日誌數據到對應的數據庫中,方便查詢和匯總,此時則需要配置部分的druid的文件,可參考github上的說明,github算是比較官方的介紹了。
Druid https://github.com/alibaba/druid
mvn package 時,增加如下命令-Dmaven.test.skip=true
則表示package打包時,不執行也不編譯測試用例,mvn package -Dmaven.test.skip=true 如果是: mvn package -DskipTests 則表示打包時不執行測試用例,但會編譯對應的測試用例輸出到相應的class文件至target/test-classes目錄下 maven :package 一般是將當前maven項目打包後輸出到Target目錄下,如下圖所示: maven : install 則會將當前項目打包到對應的maven倉庫中,如圖- 通過打開Druid的監控頁面-->再打開瀏覽器的調試模式netWork查看當前頁面的發出請求,可以看到頁面有請求當前項目路徑下的 ***.json 如datasource.json文件中的數據,然後再進行了數據的渲染,
- Druid中的內置監控頁面,下方會有一個廣告是內嵌的image src為遠程的src地址圖片,在圖片的下放有幾個友情鏈接: 其中,melin.iteye.com是對應一個博客鏈接,裏面有一些很不錯的文章可以進行參考。
- 關於META-INF文件夾的作用和解釋:https://www.cnblogs.com/demingblog/p/5653844.html https://blog.csdn.net/meijory/article/details/53573140
- https的解釋:https://blog.csdn.net/luocn99/article/details/39777707 也是來源於上述所提到的melin.iteye.com的博客中看到的 感覺很不錯,記錄下來。
1 - smart(Maven:Package,Install,&,Log4j2)