一陪汽、tomcat服務器熱部署和資源拷貝
? ? 1.tomcat熱部署:就是在tomcat服務器運行過程中發(fā)布web項目
? ? ? ? 熱部署的兩種方式:
? ? ? ? a.配置tomcat/conf/tomcatuser.xml配置文件骤素,然后訪問頁面愿卸,利用可視化頁面操作
? ? ? ? b.通過Maven項目的Pom.xml配置文件來進行熱部署
? ? 2.資源拷貝
? ? ? ? 在Maven項目中听诸,默認是不會打包Source文件夾以外的目錄,當我們的代碼寫在Source目錄之外時潮瓶,需要對指定資源進行打包陶冷,一般我們在pom.xml中配置Maven的資源拷貝文件
二、Maven私服介紹與Maven Build的常見命令
? ? 1.常見命令:
? ? ? ? a.Install:本地安裝毯辅,包含編譯埃叭,打包,將項目安裝到本地倉庫
? ? ? ? 編譯? ? -javac
? ? ? ? 打包? ? -jar悉罕,將java代碼打包為jar文件
? ? ? ? 安裝到本地倉庫赤屋,? ? -? ? ?將打包的jar文件,保存到本地倉庫目錄中
? ? ? ? b.Clean:清除已經(jīng)編譯信息壁袄,刪除工程中的target目錄下的文件
? ? ? ? c.Compile:只是編譯的命令类早,javac命令
? ? ? ? d.Deploy:部署,常見于結合私服使用的命令嗜逻,相當于是install+上傳jar到私服
? ? ? ? e.Package:打包涩僻,包含編譯,打包兩個功能
????2.Maven私服
? ? ? ? 私服是一種特殊的遠程倉庫栈顷,他是假設在局域網(wǎng)的倉庫服務逆日,私服代理廣域網(wǎng)上的遠程倉庫,供局域網(wǎng)使用
? ? ? ? 使用私服的好處:
? ? ? ? 1):節(jié)省資金萄凤,外網(wǎng)帶寬
? ? ? ? 2):加速Maven構建
? ? ? ? 3):部署第三方構件
? ? ? ? 4):提高穩(wěn)定性室抽,增強控制
? ? ? ? 5):降低中央倉庫的符合
三、在Centos下搭建私服
? ? 1.安裝Nexus靡努,配置各項參數(shù)
? ? ? ? a.下載nexus并解壓到/usr/local文件夾
? ? ? ? b.(配置Java環(huán)境變量坪圾,已經(jīng)配過,不再演示)修改conf下面的配置文件惑朦,一般不需要改動
????????c.配置啟動文件信息兽泄,將運行用戶設置為root
? ? ? ? d.啟動私服并訪問
訪問私服
????2.私服常見的倉庫
? ? ? ? 私服默認的登錄名為:admin? ? 密碼為admin123
? ? ? ? a.Group倉庫組:Nexus通過倉庫組來統(tǒng)一管理多個倉庫,這樣訪問倉庫組就相當于訪問倉庫組管理的多個倉庫
? ? ? ? b.hosted宿主倉庫:主要用于發(fā)布內部項目構建或第三方的項目構建(如購買商業(yè)的軟件)以及無法從公共倉庫獲取的構建(如oracle的JDBC驅動)
? ? ? ? c.proxy代理倉庫:代理公共的遠程倉庫
? ? ? ? d.virtual虛擬倉庫:用于適配Maven1
三漾月、連接私服的方式
? ? 1.在Maven的核心配置文件Settings.xml中配置連接私服
在<profiles>節(jié)點下配置
<profile>
<id>sxt</id>? ? ?
<activation>? ? ? ?
<activeByDefault>false</activeByDefault>? ? ? ?
<jdk>1.7</jdk>
</activation>? ? ?
<repositories>? ? ? ?
<!-- 私有庫配置 -->? ? ? ?
<repository>? ? ? ? ?
<!-- 私有庫 id -->? ? ? ? ?
<id>nexus</id>? ? ? ? ?
<!-- 私有庫地址 -->? ? ? ? ?
<url>http://192.168.199.128:8081/nexus/content/groups/public/</url>? ? ? ? ?
<!-- 私有庫是否支持 releases 版本 -->? ? ? ? ?
<releases>? ? ? ? ? ?
<enabled>true</enabled>? ? ? ? ?
</releases>? ? ? ? ?
<!-- 私有庫是否支持 snapshots 版本 -->? ? ? ? ?
<snapshots>? ? ? ? ? ?
<enabled>true</enabled>? ? ? ? ?
</snapshots>? ? ? ?
</repository>? ? ?
</repositories>? ? ? ? ? ?
<pluginRepositories>? ? ? ?
<!-- 插件庫配置病梢,具體含義私有庫配置 -->? ? ? ?
<pluginRepository>? ? ? ? ?
<id>nexus</id>? ? ? ? ?
<url>http://192.168.199.128:8081/nexus/content/groups/public/</url>? ? ? ? ?
<releases>? ? ? ? ? ?
<enabled>true</enabled>? ? ? ? ?
</releases>? ? ? ? ?
<snapshots>? ? ? ? ? ?
<enabled>true</enabled>? ? ? ? ?
</snapshots>? ? ? ?
</pluginRepository>? ? ?
</pluginRepositories>? ?
</profile>
? ? 2.在Maven中的pom.xml文件中配置
<!-- 配置連接私服 -->
? <distributionManagement>
? ? <repository>
? ? ? <id>nexus-releases</id>
? ? ? <name>Nexus Release Repository</name>
? ? ? <url>http://192.168.199.128:8081/nexus/content/repositories/releases/</url>
? ? </repository>
? ? <snapshotRepository>
? ? ? <id>nexus-snapshots</id>
? ? ? <name>Nexus Snapshot Repository</name>
? ?<url>http://192.168.199.128:8081/nexus/content/repositories/snapshots/</url>
? ? </snapshotRepository>
? </distributionManagement>
? <build>
? ? <plugins>
? ? ? <plugin>
? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? <artifactId>maven-source-plugin</artifactId>
? ? ? ? <version>2.1.2</version>
? ? ? ? <executions>
? ? ? ? ? <execution>
? ? ? ? ? ? <id>attach-sources</id>
? ? ? ? ? ? <goals>
? ? ? ? ? ? ? <goal>jar</goal>
? ? ? ? ? ? </goals>
? ? ? ? ? </execution>
? ? ? ? </executions>
? ? ? </plugin>
? ? </plugins>
? </build>
四、基于SSM框架的CRUD案例(使用IDE:MyEclipse)
? ? 1.項目分析梁肿,框架搭建
????????框架:SpringMVC+Spring+Mybatis?
? ??????數(shù)據(jù)庫:MySQL?
? ??????項目構建工具:Maven
? ? 2.項目架構設計對比
傳統(tǒng)項目設計方式:
Maven項目設計方式:
? ? 3.Maven項目框架搭建
? ? ? ? a.創(chuàng)建Maven蜓陌、parent工程,在parent工程中的Pom.xml中配置我們需要用到的依賴
Parent的Pom.xml配置
? ? ? ? b.創(chuàng)建Maven聚合工程Manager
? ? ? ? c.創(chuàng)建manager-entity實體模塊
????????????????.............省略manager-mapper模塊的創(chuàng)建栈雳,manager-service模塊的創(chuàng)建护奈,manager-controller模塊的創(chuàng)建.............
? ??????????????.............省略模塊之間,pom.xml配置文件圖片.............
4.項目結構圖一張
新增:
查詢展示