中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

怎么推廣平臺江北seo頁面優(yōu)化公司

怎么推廣平臺,江北seo頁面優(yōu)化公司,天津專業(yè)網站設計報價,WordPress博客系統(tǒng)安裝Maven 一、為什么使用maven 添加第三方jar包jar包之間的依賴關系處理jar包之間的沖突獲取第三方jar包將項目拆分成多個工程模塊實現(xiàn)項目的分布式部署 二、maven簡介 ? Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的…

Maven

一、為什么使用maven

  1. 添加第三方jar包
  2. jar包之間的依賴關系
  3. 處理jar包之間的沖突
  4. 獲取第三方jar包
  5. 將項目拆分成多個工程模塊
  6. 實現(xiàn)項目的分布式部署

二、maven簡介

? Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的項目管理工具軟件。

? Maven 除了以程序構建能力為特色之外,還提供高級項目管理工具。由于 Maven 的缺省構建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目發(fā)文時使用 Maven,而且公司項目采用 Maven 的比例在持續(xù)增長。

三、maven的使用

1、下載和安裝

  1. 下載官網:http://maven.apache.org/download.cgi

  2. 解壓:要求目錄不要過深、不要有中文和特殊符號

  3. 必須配置JAVA_HOME環(huán)境變量

  4. 配置環(huán)境變量

    • MAVEN_HOME 值為Maven的解壓路徑
    • 在path中配置 %MAVEN_HOME%\bin

在這里插入圖片描述

  1. 查看安裝是否正確:在cmd中通過命令

    mvn -v
    

    在這里插入圖片描述

2、配置maven本地倉

  1. 本地倉位置(下載的jar包放置的位置):在解壓路徑的conf中的settings.xml,并配置阿里云鏡像。

  2. 在標簽中的最后添加本地倉的設置

    <settings><localRepository>D:\mavenjar</localRepository>
    </settings>
    
  3. 在標簽中配置鏡像

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

3、創(chuàng)建指定目錄

  1. 目錄結構(手動新建)

    project

    ? src

    ? ——main

    ? ————java

    ? ————resources

    ? ——test

    ? ————java

    ? ————resources

    ? pom.xml

  2. 目錄表示

    在這里插入圖片描述

  3. pom.xml文件中編寫

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.etime</groupId><artifactId>maven</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
    </project>
    
  4. 在src/mian/java/com/etime/maven路徑下創(chuàng)建Demo1.java

    package com.etime.maven;
    public class Demo1{public String sayHello(String name){return "Hello "+name+"!";}
    }
    
  5. 在src/test/java/com/etime/maven路徑下創(chuàng)建創(chuàng)建TestDemo1.java

    package com.etime.maven;
    import org.junit.Test;public class TestDemo1{@Testpublic void t01(){Demo1 d = new Demo1();String res = d.sayHello("World!");System.out.println(res);	}
    
  6. 在控制臺中進入pom.xml文件所在目錄

    在這里插入圖片描述

  7. 執(zhí)行 mvn compile命令

    • 查看根目錄變化和倉庫的變化(第一次會有點慢,下載指定的jar包,并將main當中的java文件編譯成字節(jié)碼文件)

      在這里插入圖片描述

    • 根目錄的變化

      在這里插入圖片描述

    • 倉庫的變化

      在這里插入圖片描述

  8. cmd 中繼續(xù)錄入mvn clean命令

    • 再次查看根目錄和倉庫的變化(清理之前生成的字節(jié)碼文件)

      在這里插入圖片描述

    • 根目錄變化
      在這里插入圖片描述

    • 倉庫變化

      在這里插入圖片描述

  9. 再次錄入 mvn compile命令

    • 查看根目錄變化(快了很多,只重新生成字節(jié)碼文件,下載新配置的jar包(如果沒有新配置,則不需要下載))

      在這里插入圖片描述

    • 根目錄變化

在這里插入圖片描述

  1. cmd 中錄入 mvn test-compile命令,

    • 查看target目錄的變化(將test中的java文件編譯成字節(jié)碼文件)

    在這里插入圖片描述

    • target目錄變化

      在這里插入圖片描述

  2. cmd 中錄入 mvn test命令,查看target目錄變化

    在這里插入圖片描述

    • 執(zhí)行TestDemo1.java的結果:

      在這里插入圖片描述

    • target-test變化02

      在這里插入圖片描述

  3. cmd 中錄入 mvn package命令,查看target目錄變化(將項目打包)

![在這里插入圖片描述](https://img-blog.csdnimg.cn/8b14e6f7534d4189b12424e71e6ac99c.png#pic_center)- target目錄變化![在這里插入圖片描述](https://img-blog.csdnimg.cn/c51a4e1f7e7e4c6d8587a77529c7fe7e.png#pic_center)
  1. cmd 中錄入 mvn install命令, 查看本地倉庫的目錄變化(將項目打包并放到本地倉庫當中)

    在這里插入圖片描述

  2. 注意

    • 運行Maven命令時一定要進入pom.xml文件所在的目錄!

四、maven核心概念

1、POM

(1) POM:Project Object Model,項目對象模型。

(2) 將Java工程的相關信息封裝為對象作為便于操作和管理的模型。

(3) Maven工程的核心配置。

(4) 可以說學習Maven就是學習pom.xml文件中的配置。

2、坐標

(1) maven的坐標

  • groupId:公司或組織的域名倒敘(類似于:com.etime)
  • artifactId:當前項目的模塊名稱(類似于:maven)
  • version:版本

(2) 舉例

<groupId>com.etime</groupId>
<artifactId>maven</artifactId>
<version>1.0-SNAPSHOT</version>

(3) jar包的網站

  • 網址:https://search.maven.org/search

(4) 通過坐標找到執(zhí)行的jar包

  • 將 groupid、artiactid、version向量鏈接器得com.etime+maven+1.0 SVNPSHOT
  • 根據(jù)上方拼接結果作為目錄結果在本地倉庫中進行查找
    • D:\mavenjar\com\etime\maven\1.0-SNAPSHOT\maven-1.0-SNAPSHOT.jar

3、依賴

(1)創(chuàng)建需要引入依賴的項目

  1. 項目結結構

    day02

    ? src

    ? ——main

    ? ————java

    ? ————resources

    ? ——test

    ? ————java

    ? ————resources

    ? pom.xml

  2. 在新建項目的pom.xml文件中編寫如下代碼

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.etime</groupId><artifactId>demo</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>com.etime</groupId><artifactId>maven</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
    </project>
    
  3. 在新建項目的src/main/java/com/etime/maven2中新建Demo02.java文件

    package com.etime.maven1;
    import com.etime.maven.Demo1;
    public class Demo2{public String say(String name){Demo1 d = new Demo1();String res =  d.sayHello(name)+" I am mary";return res;}
    }
    
  4. 在新建項目的src/test/java/com/etime/maven2中新建TestDemo02.java文件

    package com.etime.maven1;
    import org.junit.Test;
    public class TestDemo2{@Testpublic void t01(){Demo2 d = new Demo2();String res = d.say("jack");System.out.println(res);}
    }
    
  5. 進入day02項目中pom.xml所在的位置,打開命令窗口分別執(zhí)行 mvn compile、mvn test-compile、mvn test

在這里插入圖片描述

  1. 問題

    • 這里project就是我們的第一個Maven工程,現(xiàn)在day02對它有依賴。那么這個依賴能否成功呢?更進一步的問題是:day02工程會到哪里去找project呢
    • 回答:本地倉庫。任何一個Maven工程會根據(jù)坐標到本地倉庫中去查找它所依賴的jar包。如果能夠找到則可以正常工作,否則就不行。

(2)依賴管理

  1. 當A jar包需要用到B jar包中的類時,我們就說A對B有依賴。例如:commons-fileupload-1.3.jar依賴于commons-io-2.0.1.jar。

  2. 通過第二個Maven工程我們已經看到,當前工程會到本地倉庫中根據(jù)坐標查找它所依賴的jar包。

  3. 配置的基本形式是使用dependency標簽指定目標jar包的坐標。

    <dependencies><dependency><!—坐標 --><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><!-- 依賴的范圍 --><scope>test</scope></dependency>
    </dependencies>
    
  4. 依賴的范圍

    • compile
    • main目錄下的Java代碼可以訪問這個范圍的依賴
    • test目錄下的Java代碼可以訪問這個范圍的依賴
    • 部署到Tomcat服務器上運行時要放在WEB-INF的lib目錄下
    • 例如:對Demo1的依賴。主程序、測試程序和服務器運行時都需要用到。
    • test
    • main目錄下的Java代碼不能訪問這個范圍的依賴
    • test目錄下的Java代碼可以訪問這個范圍的依賴
    • 部署到Tomcat服務器上運行時不會放在WEB-INF的lib目錄下
    • 對junit的依賴。僅僅是測試程序部分需要。
    • provided
    • main目錄下的Java代碼可以訪問這個范圍的依賴
    • test目錄下的Java代碼可以訪問這個范圍的依賴
    • 部署到Tomcat服務器上運行時不會放在WEB-INF的lib目錄下
    • servlet-api在服務器上運行時,Servlet容器會提供相關API,所以部署的時候不需要。
    • 其他:runtime、import、system等。

(3)依賴的傳遞性

  1. 如果A依賴B,B依賴C,那么A→B和B→C都是直接依賴,而A→C是間接依賴
  2. 當存在間接依賴的情況時,主工程對間接依賴的jar可以訪問嗎?這要看間接依賴的jar包引入時的依賴范圍——只有依賴范圍為compile時可以訪問。

(4)依賴的原則:解決jar包沖突

  1. 路徑最短者優(yōu)先
  2. 路徑相同時先聲明者優(yōu)先
  3. 這里“聲明”的先后順序指的是dependency標簽配置的先后順序。

(5)依賴的排除

  1. 當前工程為public,直接依賴environment。environment依賴commons-logging的1.1.1對于public來說是間接依賴。
  2. 當前工程public直接依賴commons-logging的1.1.2加入exclusions配置后可以在依賴environment的時候排除版本為1.1.1的commons-logging的間接依賴。
Environment工程:
<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version>
</dependency>當前工程:
<dependency><groupId>com.etime.maven</groupId><artifactId>Environment</artifactId><version>0.0.1-SNAPSHOT</version><!-- 依賴排除 --><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.2</version>
</dependency>

(6)統(tǒng)一管理目標jar包的版本

  1. 以對Spring的jar包依賴為例:

    • Spring的每一個版本中都包含spring-core、spring-context等jar包。我們應該導入版本一致的Spring jar包,而不是使用4.0.0的spring-core的同時使用4.1.1的spring-context。
    <dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.0.0.RELEASE</version>
    </dependency>
    
  2. 問題是如果我們想要將這些jar包的版本統(tǒng)一升級為4.1.1,是不是要手動一個個修改呢?顯然,我們有統(tǒng)一配置的方式:

    <properties><spring.version>4.1.1.RELEASE</spring.version>
    </properties>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version>
    </dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version>
    </dependency>
    

4、倉庫

(1) 本地倉庫

  • 為當前本機電腦上的所有Maven工程服務。

(2) 遠程倉庫

  • 私服:架設在當前局域網環(huán)境下,為當前局域網范圍內的所有Maven工程服務。
  • 中央倉庫:架設在Internet上,為全世界所有Maven工程服務。
  • 中央倉庫的鏡像:架設在各個大洲,為中央倉庫分擔流量。減輕中央倉庫的壓力,同時更快的響應用戶請求。

(3) 倉庫中文件

  • Maven的插件
  • 我們自己開發(fā)的項目的模塊
  • 第三方框架或工具的jar包
  • 注意:不管是什么樣的jar包,在倉庫中都是按照坐標生成目錄結構,所以可以通過統(tǒng)一的方式查詢或依賴。

5、生命周期

(1)maven的生命周期

  1. Maven生命周期定義了各個構建環(huán)節(jié)的執(zhí)行順序,有了這個清單,Maven就可以自動化的執(zhí)行構建命令了。
  2. maven有三套相互獨立的生命周期
    • Clean Lifecycle在進行真正的構建之前進行一些清理工作。
    • Default Lifecycle構建的核心部分,編譯,測試,打包,安裝,部署等等。
    • Site Lifecycle生成項目報告,站點,發(fā)布站點。
  3. 它們是相互獨立的,你可以僅僅調用clean來清理工作目錄,僅僅調用site來生成站點。當然你也可以直接運行 mvn clean install site 運行所有這三套生命周期。
  4. 生命周期分類
    • clean生命周期:Clean Lifecycle 在進行真正的構建之前進行一些清理工作。Clean生命周期一共包含了三個階段
      • pre-clean 執(zhí)行一些需要在clean之前完成的工作
      • clean 移除所有上一次構建生成的文件
      • post-clean 執(zhí)行一些需要在clean之后立刻完成的工作
    • Default生命周期:是構建的核心部分,編譯,測試,打包,部署等等,Default生命周期是Maven生命周期中最重要的一個,絕大部分工作都發(fā)生在這個生命周期中。
      • compile 編譯項目的源代碼
      • install 將包安裝至本地倉庫,以讓其它項目依賴。
      • deploy 將最終的包復制到遠程的倉庫,以讓其它開發(fā)人員與項目共享
      • process-test-resources 復制并處理資源文件,至目標測試目錄
      • process-resources 復制并處理資源文件,至目標目錄,準備打包
      • test-compile 編譯測試源代碼
      • test 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署
      • package 接受編譯好的代碼,打包成可發(fā)布的格式,如 JAR,war
    • Site生命周期(Site Lifecycle):生成項目報告,站點,發(fā)布站點,站點的文檔(站點信息,依賴…)。
      • pre-site 執(zhí)行一些需要在生成站點文檔之前完成的工作
      • site 生成項目的站點文檔
      • post-site 執(zhí)行一些需要在生成站點文檔之后完成的工作,并且為部署做準備
      • site-deploy 將生成的站點文檔部署到特定的服務器上

7、繼承

(1)繼承機制

  • 由于非compile范圍的依賴信息是不能在“依賴鏈”中傳遞的,所以有需要的工程只能單獨配置。此時如果項目需要將各個模塊的junit版本統(tǒng)一為4.9,那么到各個工程中手動修改無疑是非常不可取的。使用繼承機制就可以將這樣的依賴信息統(tǒng)一提取到父工程模塊中進行統(tǒng)一管理。

(2)繼承項目創(chuàng)建

  1. 創(chuàng)建父工程

  2. 創(chuàng)建子模塊

    • 在父工程中new - module 創(chuàng)建子模塊(Java工程或者JavaWeb工程)
  3. 創(chuàng)建父工程和創(chuàng)建一般的Java工程操作一致,唯一需要注意的是:打包方式處要設置為pom。

  4. 在子模塊中引用父工程

    <parent><!-- 父工程坐標 --><groupId>...</groupId><artifactId>...</artifactId><version>...</version><relativePath>從當前目錄到父項目的pom.xml文件的相對路徑</relativePath>
    </parent>
    

五、IDEA整合maven

1、創(chuàng)建Maven項目

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2、創(chuàng)建Maven的JavaWeb項目

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

3、Maven配置

在這里插入圖片描述

4、簡單測試

  1. pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><packaging>war</packaging><groupId>com.etime</groupId><artifactId>day02</artifactId><version>1.0-SNAPSHOT</version><dependencies><!--   DBUtils    --><dependency><groupId>commons-dbutils</groupId><artifactId>commons-dbutils</artifactId><version>1.6</version></dependency><!-- 數(shù)據(jù)庫相關 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!--c3p0--><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>
    </project>
    
  2. Demo.java

    package com.etime.demo;import org.apache.commons.dbutils.QueryRunner;
    import org.junit.Test;import java.sql.SQLException;public class StudentDemo {@Testpublic void t01() {//刪除學號為1的學生QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource());String sql = "delete from student where sid=2";try {int rows = queryRunner.update(sql);System.out.println(rows);} catch (SQLException e) {e.printStackTrace();}}
    }
    
    • 注意:c3p0的配置文件需要放到test中的resources文件夾中

      [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OiYbFKb0-1692059360442)(F:\Java語言\課程筆記\第六階段\myself\maven\img\testc3p0.png)]

.demo;

import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;

import java.sql.SQLException;

public class StudentDemo {
@Test
public void t01() {
//刪除學號為1的學生
QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource());
String sql = “delete from student where sid=2”;
try {
int rows = queryRunner.update(sql);
System.out.println(rows);
} catch (SQLException e) {
e.printStackTrace();
}
}
}


- 注意:c3p0的配置文件需要放到test中的resources文件夾中
http://www.risenshineclean.com/news/7759.html

相關文章:

  • 網站報價模板如何聯(lián)系百度人工客服電話
  • 合肥網站建設技術支持廣州權威發(fā)布
  • wordpress用戶名長度河北網站seo外包
  • 上海網站開發(fā)定制seox
  • 如何架設內部網站太原seo霸屏
  • 文字圖片在線生成器谷歌seo怎么做
  • 如何測試網站的跨瀏覽器兼容性抖音搜索關鍵詞排名
  • 國外做動運服裝的網站襄陽seo
  • 一個公司可以做兩個網站嗎新聞頭條最新消息
  • 讓百度收錄自己的網站百度熱詞搜索指數(shù)
  • 網站登錄驗證碼怎么做百度競價搜索
  • 找圖做素材啥網站好優(yōu)化整站
  • 備案用的網站建設方案書怎么寫推廣文案怎么寫
  • 天河建網站網站內容seo
  • 創(chuàng)建網站根目錄優(yōu)化搜索引擎營銷
  • web前端真實工資seo公司資源
  • 做網站 還是淘寶店北京十大最靠譜it培訓機構
  • web網站設計分辨率外包網
  • 北京網站建設seo2baidu網站的推廣方法
  • 搜索引擎網站提交推廣賺錢
  • 做網站開發(fā)的有哪些公司好電商怎么做如何從零開始
  • 怎么看網站有沒有做競價網站關鍵詞怎么快速上排名
  • 網站建設 月嫂 模板網站建設優(yōu)化公司
  • 做代碼的網站廣告招商
  • 天津百度網站排名優(yōu)化網絡推廣技巧
  • 國內個人網站建設專門制作小程序的公司
  • 做游戲直播那個網站好什么平臺免費推廣效果最好
  • 深圳龍崗做網站公司廣西網絡推廣公司
  • 北京建網站哪家公司好哪里有軟件培訓班
  • windows系統(tǒng)做ppt下載網站seo技術優(yōu)化整站