maven之旅 之HelloWorld

来源:互联网 发布:ubuntu 16.04 ios下载 编辑:程序博客网 时间:2024/05/16 00:47

上篇文章介绍了Maven的安装及简单的配置。本篇博客主要是对Maven配置做的补充,及通过 helloworld 程序带你体验maven构建生命周期。话不多说,进入正题。

一、配置中央仓库:maven默认中央仓库是外服,做练习时下载插件或者依赖真的不是一般的慢,为此先来改变下我们的中央厂库。

1.从maven home 的conf目录下拷贝 settings.xml 文件到 C:\Users\Administrator\.m2目录下。

2.修改 settings.xml 内容,找到<mirrors>节点,添加<mirror>子节点,内容如下

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


二、实现helloworld,并用mvn 构建
 maven项目是基于约定的,不同的文件都要遵循一定的规约

项目代码在 src\main\java 目录下;测试代码在src\test\java 目录下;项目资源文件在src\main\resources目录下;测试资源文件在src\test\resources;pom文件放在项目根目录等等。

1.在 src\main\java目录下新建 john\mvndemo 目录 然后新建HelloWorld.java文件,内容为

package john.mvndemo.helloworld;public class HelloWorld{public static String sayHello(){return "Hello World!";}public static void main(String[] args){System.out.println(sayHello());}}
文件路劲:

2..在 src\test\java目录下新建 john\mvndemo 目录 然后新建HelloWorldTest.java文件用于单元测试,内容为

package john.mvndemo.helloworld;import static org.junit.Assert.assertEquals;import org.junit.Test;public class HelloWorldTest{@Testpublic void testSayHello(){HelloWorld helloWorld = new HelloWorld();String result = helloWorld.sayHello();assertEquals("Hello World!",result);}}
文件路劲:



3.在helloworld目录下新建POM.xml文件内容为,其中dependency是管理依赖,这里只用到junit(单元测试用),plugin插件管理,shade是为了把具有main函数的类打包,默认是不打包具有main函数的类的。

<?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>join.mvndemo</groupId>  <artifactId>hello-world</artifactId>  <version>0.0.1-SNAPSHOT</version>  <!-- <packaging>war</packaging> -->  <name> hello-world maven project </name>  <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.7</version><scope>test</scope></dependency>  </dependencies>      <!-- -->  <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><!-- 打包时添加main()方法插件 --><artifactId>maven-shade-plugin</artifactId><version>1.2.1</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation = "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>john.mvndemo.helloworld.HelloWorld</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins>  </build></project>
文件路劲:


文件就绪,接下来就可以用maven构建了。maven 版本 apache-maven-3.3.9

以下步骤的前提是Maven已安装并且正确配置了(mvn -version 查看maven是否已正确安装和配置),具体见我另篇博客maven之旅 之环境搭建

4.清理项目:  打开 cmd 切换到helloworld目录 (上面pom.xml目录)输入 mvn clean  ,看到下图说明成功了


如果失败BUILD SUCCESS 会 显示 BUILD FAILD 

5. 编译项目(先清理再编译):输入mvn clean compile,看到下图说明成功了


6.测试项目(先清理再测试):输入mvn clean test,看到下图说明成功了


7.打包项目(先清理再打包):输入 mvn clean package,看到下图说明成功了


8.安装项目(类库):要想让自己的项目像开源项目那样通过maven被其他项目使用,还要把项目安装到maven厂库才行。输入 mvn clean install,成功后如下图


到本地仓库就可以按到自己安装的项目路,如下图


9.测试jar包:输入 java -jar target/hello-world-0.0.1-SNAPSHOT.jar



10.分析:

 Maven的3个生命周期:clean,default,deploy

clean : pre-clean、clean、post-clean;

default:  :compile 、test、package、install;

deploy   :pre-deploy、deploy、post-deploy;

同种生命周期,后者依赖前者,后者执行前,前者会自动执行,如mvn clean 实际执行的是pre-clean和clean;

不同种生命周期可以结合使用,如mvn clean test 实际执行的是pre-clean、clean、compile和test。

还有本文只是提供了一个完整的maven构建过程。由于篇幅截图都不是很全,不是很形象。读者在演示的时候可以自己观察控制台输出。看了之后就会很明白的。


11.注意事项:第一次使用maven会下载很多插件,先把中央厂库配好,不然会很慢,影响心情;maven 版本号,这个可能会影响单元测试;编译的过程会先处理资源文件,因为没用到,所以没说,但是不等于没有;pom配置文件如果没有装shade插件,第9步是没法执行的。


0 0
原创粉丝点击