• DOS命令行中用MAVEN构建 Java 和 Java Web 项目


    一、Maven的安装 :
    1、将 maven3.0解压到任一目录下,如D:Program Files
    2、配置环境变量:变量名: MAVEN_HOME   变量值:D:Program Filesapache- maven-3.0.4
    然后在Pathz中添加% MAVEN_HOME%in(同时Java环境变量配置成功)
    3、运行 cmd,输入mvn -version。若显示版本信息,则安装成功。
     
    二、在命令行中使用Maven创建Java项目
    1、使用 命令行(开始-运行- cmd)进入一个自定义文件夹
    2、在 命令行中输入:mvn archetype:create -DgroupId=com.test -DartifactId=TestProject
    groupId与artifactId惟一标识一个项目,它们也决定了这个项目在依赖库中的位置,这条 命令执行完毕后,在执行 命令的路径下会出现如下目录结构:
    --TestProject
    ----src
    ------main
    --------java
    ----------com
    ------------test
    ------test
    --------java
    ----------com
    ------------test
    并且在TestProject中生成了一个pom.xml文件,内容是一个项目应该有的最基本的配置,并且 Maven默认添加了Junit的依赖,以此来鼓励单元测试。
    Maven的一个优点就是使用标准的目录结构,从上面的目录结构可以看出来,标准的目录结构中有两棵源代码树,一棵是Java应用程序的代码树,一棵是单元测试代码树。
    在执行创建项目的 命令时, Maven会下载一些文件,当你开始调用工具时, Maven会根据你使用的插件来更新自身的一些功能。创建完项目后, 在项目的pom.xml文件所在的目录下可以执行各种 Maven命令,常用的有如下几种:
    mvn test:运行应用程序中的单元测试
    mvn package:依据项目生成jar文件
    mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用
    mvn site:生成项目相关信息的网站
    mvn clean:清除目标目录中的生成结果
    mvn eclipse:eclipse:生成Eclipse项目文件
     
    三、在命令行中使用Maven创建Java Web项目:
    1、使用 命令行(开始-运行- cmd)进入一个自定义文件夹 www.it165.net
    2、在 命令行中输入:mvn archetype:create -DgroupId=com.testweb -DartifactId=TestWebProject -DarchetypeArtifactId= maven-archetype-webapp
    3、生成的项目目录如下:
    TestWebProject
    ----src
    ------main
    --------resources
    --------webapp
    ----------WEB-INF
    同样,在TestWebProject目录下也生成了pom.xml文件,并且在WEB-INF目录下生成了web.xml文件;不同的是,现在的项目打包不再是jar包,而是war包,可查看pom.xml文件中的package标签:<packaging>war</packaging>。另外,可以使用finalName标签来改变war包的名称,如:
    <build>
    <finalName>NewWarName</finalName>
    </build>
    在使用mvn package 命令打包的时候,不必担心WEB-INF/lib中的依赖包如何得到,依赖属性值被设置成compile的情况下, Maven会自动包含依赖项。
     
    四、管理依赖
    使用 Maven的一大好处就是可以统一管理依赖关系。为项目添加依赖关系也非常的简单,只需要添加一个dependency标签即可,如:
    <dependency>
     <groupId>quartz</groupId>
    <artifactId>quartz</artifactId>
     <version>1.5.1</version>
     <scope>compile</scope>
    </dependency>
    其中,groupId、artifactId和version指定了特定的依赖包及其版本;scope的取值有如下几种:
    compile:默认值。表明是所有任务所需的资源
    test:运行所有的测试用例时所需资源
    runtime:表明是运行时所需资源
    provided:JDK部分或应用服务器的classpath所需的资源
  • 相关阅读:
    如何使用RabbitMQ实现事件总线
    一起学Vue:UI框架(elementui)
    一起学Vue:访问API(axios)
    一起学Vue:CRUD(增删改查)
    一起学Vue:路由(vuerouter)
    如何使用IMemoryCache实现内存缓存
    手把手教你AspNetCore WebApi:Nginx(负载均衡)
    一起学Vue:状态管理(Vuex)
    自我介绍
    牛客练习赛74AB
  • 原文地址:https://www.cnblogs.com/aukle/p/3235326.html
Copyright © 2020-2023  润新知