- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Java學(xué)習筆記之Maven篇
【本質(zhì)】:將原材料(各種Java本身的類(lèi),不包括jar包)生產(chǎn)成為可運行的工程項目。
Maven - 自動(dòng)化構建工具,英文單詞是專(zhuān)家內行的意思
1.方便管理jar包,jar包沖突?
2.打包web項目(節省jar包空間)
【依賴(lài)管理】maven的jar包放在jar包倉庫,maven只存儲jar包的坐標。(代碼重用思想)
【一鍵構建】編譯、測試、運行、打包、安裝、部署 操作一體化
【POM:Project Object Model 工程對象模型
【pom.xml】:maven工程核心配置文件(裝載依賴(lài))[同動(dòng)態(tài)web中的web.xml]
【部署】:把編譯結果“拿到”服務(wù)器指定目錄下
1.依賴(lài)管理:
POM項目對象模型,里面配置的是 ①項目自身的信息 ②項目所依賴(lài)的jar包的信息 ③項目運行環(huán)境的信息:jdk、tomcat信息。
依賴(lài)的jar包又涉及到依賴(lài)管理模型:公司的名稱(chēng)、項目名稱(chēng)、版本號
2.一鍵構建:maven默認生命周期
【maven安裝】:本身就是綠化版,我們需要做的事情是配置好相關(guān)的環(huán)境變量和settings
【maven目錄】:
核心代碼 src/main/java 配置文件 src/main/resources 測試代碼 src/test/java 測試配置 src/test/resources 頁(yè)面資源(jsp、css):src/main/webapp
【1】MAVEN_HOME:就是maven的五臟都在的那個(gè)位置
【2】PATH:找到%MAVEN_HOME%\bin,里面有mvn的啟動(dòng)文件
【3】config/settings.xml中
<!-- localRepository 重新編寫(xiě)再維護 | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>B:\Environment\maven\maven_repository</localRepository>
坐標:
groupid:com.公司/組織.項目名
artifactid:模塊名
version:版本
mvn clean == 清除項目編譯信息(每個(gè)人的編譯結果不一樣,在新的環(huán)境下運行需要清除原有的東西) mvn compile == javac,編譯出新的.class文件保存在target目錄里面 mvn test == main和test都編譯了 mvn package == 打成了war包,在pom.xml中可以配置打成什么格式。 mvn install == 把項目打在了本地倉庫 mvn deploy
幾個(gè)小問(wèn)題:
1.生命周期
編譯,測試,打包,安裝,發(fā)布
(清除生命周期)默認生命周期~~生老病死,(站點(diǎn)生命周期)
2.maven工程查找倉庫的流程是什么?
pom.xml尋求依賴(lài)的jar包:一般的
先去本地倉庫找jar包,再到遠程倉庫【私服】,在同一局域網(wǎng)就可以下載,最后才是中央倉庫。
①maven中央倉庫(地址:http://repo2.maven.org/maven2/)
②maven私服(公司局域網(wǎng)內的倉庫,需要自己搭建)
③其他公共遠程倉庫(例如apache提供的遠程倉庫,地址:http://repo.maven.apache.org/maven2/)
基本配置
【1】先在setting中配置maven_home、settings.xml
在runner配置先從本地獲取插件(加上-DarchetypeCatalog=internal
)
【2】使用骨架創(chuàng )建maven工程:
手動(dòng)補齊resources作為資源根目錄
不使用骨架模板構建maven工程:自帶main(java、resources)、test目錄
使用骨架,找到mavenwebapp的原型:maven-archetype-webapp
【3】指定web資源包
創(chuàng )建servlet,導入jar包==》pom.xml里面導入jar包(配置依賴(lài)的groupId群組Id、artifactId工程Id、version版本)
兩種方式導入jar包:(一般都看不到)
【本地】項目名稱(chēng):配置servlet-api、jsp-api、公司名稱(chēng)、版本號
【網(wǎng)絡(luò )】
依賴(lài)書(shū)寫(xiě)規范:
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
scope:
servlet-api包沖突
maven一鍵構建在【集成插件】中
設置scope是提供了的provided
用完之后要停止項目,避免端口占用
使用live Templates模板 確定tomcat maven-compiler-plugin選定JDK
pom.xml是Maven項目的核心配置文件,位于每個(gè)工程的根目錄,基本配置如下: <project > :文件的根節點(diǎn) . <modelversion > : pom.xml使用的對象模型版本 <groupId > :項目名稱(chēng),一般寫(xiě)項目的域名 <artifactId > :模塊名稱(chēng),子項目名或模塊名稱(chēng) <version > :產(chǎn)品的版本號 . <packaging > :打包類(lèi)型,一般有jar、war、pom 等 <name > :項目的顯示名,常用于 Maven 生成的文檔。 <description > :項目描述,常用于 Maven 生成的文檔 <dependencies> :項目依賴(lài)構件配置,配置項目依賴(lài)構件的坐標 <build> :項目構建配置,配置編譯、運行插件等。
maven工程獲取mysql數據(使用maven訪(fǎng)問(wèn)持久層)
package com.xianzai.demo.dao.impl; import com.xianzai.demo.dao.StudentDao; import com.xianzai.demo.pojo.StudentModel; import java.sql.*; import java.util.ArrayList; import java.util.List; public class StudentImpl implements StudentDao { public List<StudentModel> findOne() { List<StudentModel> list = new ArrayList<StudentModel>(); try { String sql = "select * from stulist"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3308/hzyc98", "root", "mysql"); PreparedStatement ps = conn.prepareCall(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { StudentModel stu = new StudentModel(); stu.setCollege(rs.getString("college")); stu.setName(rs.getString("sname")); stu.setId(rs.getString("id")); list.add(stu); } System.out.println(list); rs.close(); ps.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } finally { } return list; } }
到此這篇關(guān)于Java學(xué)習筆記之Maven篇的文章就介紹到這了,更多相關(guān)Java Maven內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站