1. 程式人生 > 實用技巧 >tensorflow——圖片資料的讀取與圖片資料增強

tensorflow——圖片資料的讀取與圖片資料增強

學習目標:
1)瞭解Maven及Maven的作用
2)掌握maven的配置(本地倉庫/遠端倉庫/JDK版本/maven和eclipse整合)
3)掌握使用maven建立Java專案和Web專案
4)掌握匯入已有的Maven專案
5)瞭解Maven的三種倉庫(本地倉庫/遠端倉庫/中央倉庫)
6)瞭解Maven是如何管理依賴的
7)掌握如何在maven專案新增依賴

一、Maven的概述
1、什麼是Maven?
	Maven是apache下的一個純Java開發的開源專案
	Maven是一個專案管理工具,可以簡化專案配置,統一專案結構,使得開發者的工作變得更簡單!
	使用Maven的主要原因,是Maven可以幫我們下載和管理專案中所需要的依賴(jar包)

二、Maven的下載/安裝/配置
1、下載、安裝Maven
	官方下載地址:http://maven.apache.org/download.cgi
	maven是一個綠色軟體,解壓之後就可以使用。
	安裝時推薦,安裝的路徑中不要包含中文和空格

2、配置本地倉庫
	2.1.什麼是本地倉庫
		本地倉庫就是本地硬碟上的一個目錄,這個目錄用於存放Maven幫我們下載的所有jar包和外掛。
		如果不指定,本地倉庫預設是在(windows系統):c:/users/{當前使用者}/.m2/repository

	2.2.修改本地倉庫的預設位置
		找到 {maven的安裝目錄}/conf/settings.xml檔案,在settings檔案的55行,新增如下內容:
		<localRepository>d:/javaDevelop/localRepo</localRepository>
		修改完後,以後通過maven下載的所有jar包和外掛都會存放在這個位置:
			d:/javaDevelop/localRepo

3、配置遠端倉庫
	3.1.什麼是遠端倉庫
如果沒有配置遠端倉庫,預設連線中央倉庫,也就是maven將會從中央倉庫下載jar,再儲存到本地倉庫中。 但由於中央倉庫面向的是全球使用者,所以下載jar包速度較慢! 遠端倉庫(映象倉庫、私服): 一般是由公司(或個人)負責搭建並維護,如果配置了遠端倉庫,maven就會從遠端倉庫下載所需要的jar包,並儲存到本地倉庫中。 3.2.如何配置遠端倉庫 (1)如果是在家裡(有外網),或者以後去公司上班後:可以不配置,預設連線中央倉庫,也可以配置連線阿里雲的倉庫,或者連線你們公司自己的遠端倉庫。 注意:如果連線阿里雲倉庫,不可以使用手機熱點網路! (2)如果在達內(使用的是達內內網):可以配置連線達內的遠端倉庫 注意:回到家裡,或者以後去公司,連線不了達內的遠端倉庫(沒有對外開放,沒有內網訪問不了) 配置方法:找到{maven的安裝目錄}/conf/settings.xml檔案,在settings檔案的<mirrors>標籤內部,通過新增<mirror>標籤,可以配置遠端倉庫。 例如:達內的遠端倉庫配置: <mirror> <id>nexus-tedu</id> <name>Nexus tedu</name> <mirrorOf>central</mirrorOf> <url>http://maven.tedu.cn/nexus/content/groups/public/</url> </mirror> 阿里雲的遠端倉庫配置: <mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <mirrorOf>central</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> 4、配置JDK版本 因為在maven和eclipse整合後,通過eclipse建立的maven專案,其中的JDK版本預設是JDK1.5(太舊) 可以在{maven的安裝目錄}/conf/settings.xml檔案中配置JDK的版本,配置後,以後再建立maven專案,專案中的JDK版本就是我們指定的版本。而不是JDK1.5。 配置方法是:在{maven的安裝目錄}/conf/settings.xml檔案的<profiles>標籤內部,新增一個<profile>標籤。如下: <profile> <id>development</id> <activation> <jdk>1.8</jdk> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> 5、整合Maven和Eclipse 參考講義《將Maven配置到Eclipse中》 如果已經將Maven和Eclipse進行了整合,再修改settings.xml檔案,如果想讓修改的配置立即生效,可以重啟Eclipse。 三、Maven的專案構建 0、通過Maven構建Java專案分為兩種方式: 方式一:通過Maven建立簡單工程/專案(new simple project) (1)通過Maven建立簡單的Java工程 (2)通過Maven建立簡單的Web工程 方式二:通過Maven建立模板工程/專案 (1)通過模板建立Java工程 (2)通過模板建立Web工程 1、通過Maven建立一個Java專案:CGB-MAVEN-JAVA01 2、通過Maven建立一個Web專案:CGB-MAVEN-WEB01 注意:通過maven建立的Web專案預設缺少 WEB-INF目錄,也缺少web.xml檔案,解決方法是: 在[Package Explorer]檢視視窗中,在Web專案上-->右鍵-->選擇:JavaEE Tools-->選擇:Generate Deployment...,webapp目錄下就會生成WEB-INF目錄和web.xml檔案 3、Maven專案的目錄結構 CGB-MAVEN-WEB01(maven專案的名字) |-- src/main/java(原始碼目錄) -- 用於存放主程式/專案的java原始檔 |-- src/main/resources(原始碼目錄) -- 用於存放主程式所需要的配置檔案(.xml/.propertes/.yml等) |-- src/test/java(原始碼目錄) -- 用於存放測試的java原始檔 |-- src/test/resources(原始碼目錄) -- 用於存放測試的配置檔案 |-- src/main/webapp -- Web應用的根目錄,相當於WebContent目錄 將來可以存放Web資原始檔(html/css/js/jsp/圖片等) |-- src/main/webapp/WEB-INF/web.xml -- Web應用的核心配置檔案 |-- target/classes/ -- 原始碼目錄中的資原始檔經過編譯後,會輸出到classes目錄下 |-- pom.xml -- maven專案的配置檔案,如果需要引入jar包、外掛,可以在這個檔案中進行引入 4、如何匯入已有的Maven專案 1) 匯入資料庫(yonghedb)、表、表記錄 2) 匯入yonghe專案 注意:在匯入專案後,專案上有叉號(x)或者有歎號(!),都是因為maven沒有將所有的環境/依賴下載下來。 可以通過如下三個步驟去解決: 1)開啟yonghe專案,找到其中的pom.xml檔案,在檔案中敲一個空白行並儲存,讓maven重新掃描pom檔案,並根據其中的配置下載所需要的依賴; 2)在報錯的maven專案上右鍵--> Maven--> Update Project...,在彈出的視窗中勾選下方的 []Force Update... 即勾選強制更新,如果還沒有解決,再看第3步! 3)下載老師下發的本地倉庫(localRepo(maven的本地庫).zip,在第二階段軟體中有) 用老師下發的本地倉庫,替換自己的本地倉庫! 執行匯入的yonghe專案,在專案上右鍵--> Run As --> Run On Server,在開啟的瀏覽器位址列後面補全路徑: http://localhost:8080/yonghe/index /index對應的是controller中的一個方法,最後會跳轉到index.jsp 四、maven的依賴管理 1、如何在Maven專案中引入jar包(依賴)
不需要將jar包複製到當前專案中,而是在pom.xml檔案中新增這個jar包對應的座標,比如,要新增mysql驅動包,只需要在pom檔案的根標籤(project)內部,新增一個<dependencies>標籤,在<dependencies>標籤內部新增一個mysql驅動包的座標即可,如下所示: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> 2、引入到Maven專案中的jar包,存放在哪個位置? 引入到Maven專案中的jar包,存放在本地倉庫的指定位置下,這個位置就是【本地倉庫位置+當前依賴的座標】 (前面說過,本地倉庫就是本地硬碟上的某一個目錄,就是用來存放maven幫我們下載的所有jar包和外掛) 3、本地倉庫中的jar包是從哪兒來的? 如果沒有配置遠端倉庫,本地倉庫中的jar包是maven幫我們從中央倉庫下載下來的。 如果配置了阿里雲的遠端倉庫,本地倉庫中的jar包是maven幫我們從阿里雲倉庫下載下來的 1)本地倉庫:其實就是本地硬碟上的某一個目錄,用於存放maven幫我們下載的所有jar包和外掛 當我們在專案中引入了依賴,就會到本地倉庫中根據座標尋找這個依賴(jar包) 如果本地倉庫中有,則直接引入到專案中使用; 如果本地倉庫中沒有,則連線遠端倉庫(如果配置了),或者連線中央倉庫。 2)遠端倉庫:也叫作映象倉庫或者私服,由公司或個人負責搭建,如果在maven中配置了遠端倉庫,當本地倉庫中沒有某一個jar包時,就會連線遠端倉庫進行下載。遠端倉庫若沒有,則連線中央倉庫去下載。 3)中央倉庫:由maven團隊負責搭建並維護,其中包括了全世界幾乎所有的jar包,面向的使用者是全球使用者,因此在連線中央倉庫時,速度會比較慢。 4、如何在pom檔案中新增依賴? 4.1.新增依賴的方式一: 如果新增的依賴包在本地倉庫中有(比如之前在別的專案中引入過這個依賴包) 新增方法: 開啟pom檔案,在pom檔案中右鍵--> Maven --> Add dependency,在彈出的視窗中輸入要新增的依賴包。 如果本地倉庫中沒有這個jar包,必然會搜尋不到! 如果本地倉庫中有這個jar包也搜尋不到,解決方法是:開啟 Maven Repositories 視窗, 找到 Local Repository,在上面右鍵 ReBuild Index(即重建索引), 重建索引後再去搜索。 4.1.新增依賴的方式二: 如果新增的依賴包在本地倉庫中沒有,可以在網際網路上進行搜尋依賴的座標,並把座標複製到pom檔案中 http://mvnrepository.com 五、maven的常見問題 1、Maven的本地庫支援複製 如果因為網路問題導致無法通過maven下載所需要的依賴,可以將別的電腦上、已經下載好的本地庫,複製到我們的本地庫中。 2、如果通過Maven建立的工程目錄結構不完整,或者後期在引入Jar包時,jar引入失敗,可以參考如下方法進行解決: 1)確保當前網路環境是否能連線上所配置的遠端倉庫,接著進行第2步。(若不在達內教室,是無法連線達內的遠端倉庫;又或者使用手機熱點網路將無法連線阿里雲的遠端倉庫等) 2)在專案的pom檔案中敲一個空白行,再儲存檔案。(目的是讓maven檢測到pom檔案發生了變化,再根據pom檔案中的配置,到本地倉庫中尋找對應的jar包,如果沒有相應的jar包,maven會重新下載) 3)接著在專案上,右鍵---> Maven ---> Update Project...,在彈出的視窗中勾選下方的 "[]Force Update...",即強制更新專案,此時maven也會檢查pom檔案,下載沒有引入的相關依賴。 4)如果以上操作還是不行,到本地倉庫的目錄下,將本地倉庫中所有的目錄都刪除,刪除時,由於eclipse正在使用本地倉庫中的資原始檔,所以會阻止刪除,此時將eclipse關閉,再將本地倉庫中的所有目錄刪除,重啟eclipse。 5)啟動eclipse後,再將上面的第(2)步和第(3)步再做一遍! 6)如果還是不行,就使用老師下發的本地倉庫替換你的本地倉庫!