maven入门学习第一弹(windows)

本文详细介绍Maven的安装配置过程及如何使用Maven编译、测试Java源文件,同时讲解了如何配置依赖本地不同目录下的Java类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      以前就听过maven,但一直没具体接触,最近听一个同学推荐这工具功能蛮强大的。本着好奇之心,这周末就尝试了maven的工具使用,意外的是还是遇到了不少问题,在此做一个简单的总结。

     

    一、下载与安装


    download:官网网址如下

    http://maven.apache.org/download.cgi     

    安装  

        maven下载后解压即可,没有.exe安装文件,之后进行一下配置

        step1:根据maven版本要安装相应版本的jdk,maven3.3版本则需要至少1.7(包括)以上版本的jdk,具体请见官网,并且要配置jdk的环境变量,JAVA_HOME在环境变量中是一定要配置的        

       step2:在环境变量中设置maven_home(maven的安装目录),并且将%maven_home%\bin添加到path的环境变量中       上述配置完成后,打开dos命令行 输入mvn -v即可查看maven的相关版本信息,证明基本配置ok,如java_home没设置,此时会提示在环境变量中需设置java_home变量值        

      step3:可以设置maven下载jar到本地目录的位置,默认是${user.home}/.m2/repository,可以在%maven_home%\conf\setting.xml中更改重新指定,将如下标签:<localRepository>G:/workspace/maven_repository</localRepository>  放到根标签settings下即可



     二、用maven编译与测试java源文件


      安装配置maven后即可通过maven的一些命令来为我们编译,测试 java程序。   


      setp1:建立指定格式的文件结构(最重要,最重要,最重要的一步,重要的事情说三遍),如下:

           path(执行mvn命令目录)\src\main\java\...\XXX.java       

           path(执行mvn命令目录)\src\test\java\...\XXXTest.java       

           path(执行mvn命令目录)\pom.xml  

          说明:path指的是某个盘下的某个目录,比如G:\maven_workspace_demo,也等同于 执行命令目录      

      step2:配置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/maven-v4_0_0.xsd"> 

          <modelVersion>4.0.0</modelVersion>  

         <groupId>com.kingdee.maven</groupId> 

          <artifactId>maven_welcome</artifactId>  

         <version>1.0.0</version>

         <properties>  

            <project.build.sourceEncoding>               

                 UTF-8       

           </project.build.sourceEncoding>

         </properties>

      </project>     

       step3:在dos中通过命令cd进入path目录下进行编译,命令如下     mvn compile    

           注意:是进入path目录下,即与src,pom.xml同级的目录下执行 mvn compile命令 编译 执行命令目录\src\main\java\包名\java源文件      

          如果执行该命令的目录下没有pom.xml文件则会提示该文件找不到;     

          如果该执行目录有pom.xml,但是java源文件是如下格式放的 执行命令目录\包名\java源文件,那么此时会提示 \src\main\resources 下没有资源,此时也不会在pom.xml同级目录下生成target\classes文件夹;  

         如果执行目录有pom.xml,但java源文件是如下格式放的 执行命令目录\src\main\resources\包名\源文件,那么此时在pom.xml同级目录下会生成target\classes的文件夹,但此时只是将源文件夹里的内容拷贝到了 执行命令目录\target\classes\包名\java源文件,此时java源文件并没有编译成.class文件    

         有且仅有按如下格式放java源文件 执行命令目录下\src\main\java\包路径\java源文件,才会将java源文件编译成.class文件,生成的.class文件路径如下  执行命令目录\target\classes\包名\.class文件,此时 执行命令目录\src\test\java\包名\测试类java源文件 并没有被编译        

      step4:写一个类测试java源文件中的方法,该测试类中引用了junit4中的相关类,因此还需做如下配置 

          将测试类放到   执行命令目录(src,pom.xml的同级目录)\src\test\java\包名\测试类.java (\src\test\java\  这是执行mvn test命令 编译 测试类进行测试的固定结构格式)   

        在pom.xml中引用junit的jar,添加如下配置内容

             <dependencies> 

                    <dependency>

                      <groupId>junit</groupId> 

                     <artifactId>junit</artifactId> 

                     <version>4.4</version> 

                   </dependency>

             </dependencies> 

       进入path目录下执行 mvn test 命令,则会编译 测试类,并且执行里面的@Test的方法,输出测试类相关方法的测试结果。

       注意:在执行mvn compile 或者 mvn test命令时,maven会根据pom.xml里面配置信息去做一些事,比如在step4中,配置了junit4的依赖项,如果检测到maven本地仓库中没有junit4 4.4版本的jar,则会先从maven的远程仓库中下载到本地来,在进行之后的操作。


      三、配置依赖本地不同目录下的java类    

  

            path1\src\main\java\包名\java源文件1  

            path1\pom1.xml      

            path2\src\main\java\包名\java源文件2  

            path2\pom2.xml   

        假如java源文件2中的类引用了java源文件1中的类,需要哪些步骤才能正常的编译java源文件2呢?    

        step1:进入path1,是path1不是path2,执行mvn install命令,该命令会将path1 /src/main/java 下的java源文件编译 ,并且会自动放到本地的respository中,所以不需要执行mvn compile 也可以    

       step2:编辑pom2.xml,将pom1.xml中定义的坐标groupId,artifactId,version 组成dependency 放到pom2.xml 中的dependencies中  

       step3:通过dos命令进入path2,执行mvn compile 就可以正确编译 java源文件2了,不会提示缺少类了              

 

          





 


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值