java结丹期(16)----javaweb(maven(2))
idea開發maven項目(電腦上一定要安裝maven,并配置好環境變量才可開始下面的操作)
1.idea的maven配置
打開File→Settings配置maven
依據圖片指示,選擇本地maven安裝目錄,指定maven安裝目錄下conf文件夾中settings配置文件。
接著選擇Maven目錄下的Runner,VM Options里設置-DarchetypeCatalog=internal
?
2.使用骨架創建maven的web工程(第一次創建一定要聯網,不然要gg)
1.
2.
3.
4.
5.
6.記得補全目錄結構,完整的目錄結構(maven項目的目錄結構必須嚴格遵守(不用骨架也要嚴格遵守))
Maven工程的目錄結構
src/main/java —— 存放項目的.java文件
src/main/resources —— 存放項目資源文件,如spring, hibernate配置文件
src/test/java —— 存放所有單元測試.java文件,如JUnit測試類
src/test/resources —— 測試資源文件
target —— 項目輸出位置,編譯后的class文件會輸出到此目錄
pom.xml——maven項目核心配置文件
注意:如果是普通的java項目,那么就沒有webapp目錄。
注意:補全的文件夾一定要設置成對應的文件目錄,不然maven不認識。例如下面設置補全的java文件夾
1.
2.
?
3.在pom.xml文件添加坐標(以創建servlet為例)
1.創建servlet
1.創建一個Servlet,但報錯
要解決問題,就是要將servlet-api-xxx.jar包放進來,作為maven工程應當添加servlet的坐標,從而導入它的jar
2.直接打開hello_maven工程的pom.xml文件,再添加坐標
?
添加jar包的坐標時,還可以指定這個jar包將來的作用范圍。
每個maven工程都需要定義本工程的坐標,坐標是maven對jar包的身份定義比如:入門程序的坐標定義如下:
<!--項目名稱,定義為組織名+項目名,類似包名-->
<groupId>com.itheima</groupId>
<!-- 模塊名稱 -->
<artifactId>hello_maven</artifactId>
<!-- 當前項目版本號,snapshot為快照版本即非正式版本,release為正式發布版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging > :打包類型
jar:執行package會打成jar包
war:執行package會打成war包
pom :用于maven工程的繼承,通常父工程設置為pom
?
2.依賴范圍(如果范圍不對可能會導致jar包沖突,默認范圍為compile)
標簽<scope></scope>
A依賴B,需要在A的pom.xml文件中添加B的坐標,添加坐標時需要指定依賴范圍,依賴范圍包括:
? compile:編譯范圍,指A在編譯時依賴B,此范圍為默認依賴范圍。編譯范圍的依賴會用在編譯、測試、運行,由于運行時需要所以編譯范圍的依賴會被打包。
? provided:provided依賴只有在當JDK或者一個容器已提供該依賴之后才使用, provided依賴在編譯和測試時需要,在運行時不需要,比如:servlet api被tomcat容器提供。
? runtime:runtime依賴在運行和測試系統的時候需要,但在編譯的時候不需要。比如:jdbc的驅動包。由于運行時需要所以runtime范圍的依賴會被打包。
? test:test范圍依賴 在編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用,比如:junit。由于運行時不需要所以test范圍依賴不會被打包。
? system:system范圍依賴與provided類似,但是你必須顯式的提供一個對于本地系統中JAR文件的路徑,需要指定systemPath磁盤路徑,system依賴不推薦使用。
3.坐標來源
從互聯網搜索
http://search.maven.org/
http://mvnrepository.com/
4.如何在maven工程下運行tomcat(idea)
按圖提示操作即可
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java结丹期(16)----javaweb(maven(2))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java结丹期(15)----javaw
- 下一篇: java元婴期(17)----java进