日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

maven snapshot依赖 打包_Maven教程2:Maven项目构建过程练习

發(fā)布時(shí)間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven snapshot依赖 打包_Maven教程2:Maven项目构建过程练习 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

點(diǎn)擊上方“Java技術(shù)前線”,選擇“置頂或者星標(biāo)”

與你一起成長(zhǎng)

上一篇只是簡(jiǎn)單介紹了一下maven入門(mén)的一些相關(guān)知識(shí),這一篇主要是體驗(yàn)一下Maven高度自動(dòng)化構(gòu)建項(xiàng)目的過(guò)程

一、創(chuàng)建Maven項(xiàng)目

1.1、建立Hello項(xiàng)目

  1、首先建立Hello項(xiàng)目,同時(shí)建立Maven約定的目錄結(jié)構(gòu)和pom.xml文件

    Hello
      | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  

  2、編輯項(xiàng)目Hello根目錄下的pom.xml,添加如下的代碼:

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 <modelVersion>4.0.0modelVersion>

4 <groupId>me.gacl.mavengroupId>

5 <artifactId>HelloartifactId>

6 <version>0.0.1-SNAPSHOTversion>

7 <name>Helloname>

8

9

10 <dependencies>

11

12 <dependency>

13 <groupId>junitgroupId>

14 <artifactId>junitartifactId>

15 <version>4.9version>

16 <scope>testscope>

17 dependency>

18

19 dependencies>

20 project>

  3、在src/main/java/me/gacl/maven目錄下新建文件Hello.java

  

  Hello.java的代碼如下:

1 package me.gacl.maven;

2

3 public class Hello {

4

5 public String sayHello(String name){

6 return "Hello "+name+"!";

7 }

8 }

  4、在/src/test/java/me/gacl/maven目錄下新建測(cè)試文件HelloTest.java  

  

  HelloTest.java的代碼如下:

1 package me.gacl.maven;

2 //導(dǎo)入junit的包

3 import org.junit.Test;

4 import static junit.framework.Assert.*;

5

6 public class HelloTest {

7

8 @Test

9 public void testHello(){

10 Hello hello = new Hello();

11 String results = hello.sayHello("gacl");

12 assertEquals("Hello gacl!",results);

13 }

14 }

1.2、使用Maven編譯、清理、測(cè)試、打包項(xiàng)目

1、使用Maven編譯項(xiàng)目,編譯項(xiàng)目的命令是:"mvn compile"

  打開(kāi)cmd命令行,

  

  進(jìn)入Hello項(xiàng)目根目錄執(zhí)行"mvn compile"命令編譯項(xiàng)目的java類(lèi)

  

  編譯成功之后,可以看到hello項(xiàng)目的根目錄下多了一個(gè)【target】文件夾,這個(gè)文件夾就是編譯成功之后Maven幫我們生成的文件夾,如下圖所示:

  

  打開(kāi)【target】文件夾,可以看到里面有一個(gè)【classes】文件夾,如下圖所示:

  

  【classes】文件夾中存放的就是Maven我們編譯好的java類(lèi),如下圖所示:

  

  這就是使用Maven自動(dòng)編譯項(xiàng)目的過(guò)程。

2、使用Maven清理項(xiàng)目,清理項(xiàng)目的命令是:"mvn clean"

*  進(jìn)入Hello項(xiàng)目根目錄執(zhí)行"mvn clean"命令清理項(xiàng)目,清理項(xiàng)目的過(guò)程就是把執(zhí)行"mvn compile*"命令編譯項(xiàng)目時(shí)生成的target文件夾刪掉,如下圖所示:

  

3、使用Maven測(cè)試項(xiàng)目,測(cè)試項(xiàng)目的命令是:"mvn test"

  進(jìn)入Hello項(xiàng)目根目錄執(zhí)行"mvn test"命令測(cè)試項(xiàng)目,如下圖所示:

  

  測(cè)試成功之后,可以看到hello項(xiàng)目的根目錄下多了一個(gè)【target】文件夾,這個(gè)文件夾就是測(cè)試成功之后Maven幫我們生成的文件夾,如下圖所示:

  

  打開(kāi)【target】文件夾,可以看到里面有一個(gè)【classes】和【test-classes】文件夾,如下圖所示:

  

  也就是說(shuō),我們執(zhí)行執(zhí)行"mvn test"命令測(cè)試項(xiàng)目時(shí),Maven先幫我們編譯項(xiàng)目,然后再執(zhí)行測(cè)試代碼。

4、使用Maven打包項(xiàng)目,打包項(xiàng)目的命令是:"mvn package"

*  進(jìn)入Hello項(xiàng)目根目錄執(zhí)行"mvn* package"命令測(cè)試項(xiàng)目,如下圖所示:

  

  

  打包成功之后,可以看到hello項(xiàng)目的根目錄下的【target】文件夾中多了一個(gè)Hello-0.0.1-SNAPSHOT.jar,這個(gè)Hello-0.0.1-SNAPSHOT.jar就是打包成功之后Maven幫我們生成的jar文件,如下圖所示:

  

5*、使用Maven部署項(xiàng)目,部署項(xiàng)目的命令是:"mvn install"*

*  進(jìn)入Hello項(xiàng)目根目錄執(zhí)行"mvn* install"命令測(cè)試項(xiàng)目,如下圖所示:

  

  

  安裝成功之后,首先會(huì)在hello項(xiàng)目的根目錄下生成【target】文件夾,打開(kāi)【target】文件夾,可以看到里面會(huì)有Hello-0.0.1-SNAPSHOT.jar,這個(gè)Hello-0.0.1-SNAPSHOT.jar就是安裝成功之后Maven幫我們生成的jar文件,如下圖所示:

  

  除此之外,在我們存放Maven下載下來(lái)的jar包的倉(cāng)庫(kù)也會(huì)有一個(gè)Hello-0.0.1-SNAPSHOT.jar,所以Maven安裝項(xiàng)目的過(guò)程,實(shí)際上就是把項(xiàng)目進(jìn)行【清理】→【編譯】→【測(cè)試】→【打包】,再把打包好的jar放到我們指定的存放jar包的Maven倉(cāng)庫(kù)中,如下圖所示:

  

  所以使用"mvn install"命令,就把maven構(gòu)建項(xiàng)目的【清理】→【編譯】→【測(cè)試】→【打包】的這幾個(gè)過(guò)程都做了,同時(shí)將打包好的jar包發(fā)布到本地的Maven倉(cāng)庫(kù)中,所以maven最常用的命令還是"mvn install",這個(gè)命令能夠做的事情最多。

1.2、組合使用Maven的命令

  maven的編譯,清理,測(cè)試,打包,部署命令是可以幾個(gè)命令同時(shí)組合起來(lái)使用的,常用的命令組合如下:

  1、先清理再編譯:"mvn clean compile",如下所示:

  

  還有的就是"mvn clean test","mvn clean package","mvn clean install",這些組合命令都比較常用。

  以上就是關(guān)于Maven構(gòu)建項(xiàng)目的各個(gè)個(gè)過(guò)程演示。

二、在別的項(xiàng)目中使用通過(guò)Maven安裝生成的項(xiàng)目的jar包

  在上面,我們使用mvn install命令將hello這個(gè)項(xiàng)目打包成了Hello-0.0.1-SNAPSHOT.jar包并且發(fā)布到本地的maven倉(cāng)庫(kù)E:\repository\me\gacl\maven\Hello\0.0.1-SNAPSHOT中,下面我們來(lái)看看如何在別的項(xiàng)目中使用Hello-0.0.1-SNAPSHOT.jar

  1、新建HelloFriend項(xiàng)目,同時(shí)建立Maven約定的目錄結(jié)構(gòu)和pom.xml文件
    HelloFriend
      | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  如下圖所示:

  

  2、編輯項(xiàng)目HelloFriend根目錄下的pom.xml,添加如下的代碼:

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3 <modelVersion>4.0.0modelVersion>

4 <groupId>me.gacl.mavengroupId>

5 <artifactId>HelloFriendartifactId>

6 <version>0.0.1-SNAPSHOTversion>

7 <name>HelloFriendname>

8

9

10 <dependencies>

11

12 <dependency>

13 <groupId>junitgroupId>

14 <artifactId>junitartifactId>

15 <version>4.9version>

16 <scope>testscope>

17 dependency>

18

19 <dependency>

20 <groupId>me.gacl.mavengroupId>

21 <artifactId>HelloartifactId>

22 <version>0.0.1-SNAPSHOTversion>

23 <scope>compilescope>

24 dependency>

25 dependencies>

26 project>

  3、在src/main/java/me/gacl/maven目錄下新建文件HelloFriend.java,如下圖所示:

  

  HelloFriend.java的代碼如下:

1 package me.gacl.maven;

2

3 import me.gacl.maven.Hello;

4

5 public class HelloFriend {

6

7 public String sayHelloToFriend(String name){

8

9 Hello hello = new Hello();

10 String str = hello.sayHello(name)+" I am "+this.getMyName();

11 System.out.println(str);

12 return str;

13 }

14

15 public String getMyName(){

16 return "John";

17 }

18 }

  4、在/src/test/java/me/gacl/maven目錄下新建測(cè)試文件HelloFriendTest.java,如下圖所示:

  

  HelloFriendTest.java的代碼如下:

1 package me.gacl.maven;

2

3 import static junit.framework.Assert.assertEquals;

4 import org.junit.Test;

5 import me.gacl.maven.Hello;

6

7 public class HelloFriendTest {

8

9 @Test

10 public void tesHelloFriend(){

11

12 HelloFriend helloFriend = new HelloFriend();

13 String results = helloFriend.sayHelloToFriend("gacl");

14 assertEquals("Hello gacl! I am John",results);

15 }

16 }

  5、在HelloFriend目錄下執(zhí)行命令"mvn package"測(cè)試Hello-0.0.1-SNAPSHOT.jar里面的類(lèi)是否引用成功,如下所示:

  

作者:孤傲蒼狼

來(lái)源:https://www.cnblogs.com/xdp-gacl/p/4051690.html

熱門(mén)內(nèi)容:

  • 888G面試資源分享
  • 騰訊云雙11特惠秒殺:1核2G配置云服務(wù)器,88元/1年
  • 2019年Java經(jīng)典面試題匯總
  • Maven教程1:Maven入門(mén)

喜歡就點(diǎn)個(gè)"在看"唄^_^

總結(jié)

以上是生活随笔為你收集整理的maven snapshot依赖 打包_Maven教程2:Maven项目构建过程练习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。