zoukankan      html  css  js  c++  java
  • maven

    一.Maven 是什么?

        Maven 英文名称:专家,由名字可见,这个工具野心非常大。有人说他是"构建工具",一个用来把源代码构建成可发布的构件的工具。也有人说是项目管理工具。

    官方定义:

        Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

    本人理解:

        MAVEN内置软件仓库,帮助构建打包管理项目。

    二.linux安装maven

    1. JAVA环境。

    设置JAVA_HOME

    在~/.bashrc中加入

    export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

    保证JAVA命令可用,没有的去安装yum install openjdk-devel

    2.下载maven。

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

    解压到:/opt/apache-maven-3.0.3/

    设置环境变量,加入~/.bashrc

    export M2_HOME=/opt/apache-maven-3.0.3/

    export PATH=$PATH:/opt/apache-maven-3.0.3/bin/

    执行. ~./bashrc即可。

    3.测试是否成功

    4 eclipse 安装maven

    官方下载页面里可以找到eclispe中更新m2eclipse的地址为:http://download.eclipse.org/technology/m2e/releases

    打开eclipse--》help-->install new software -->add -->name输入maven,location输入http://download.eclipse.org/technology/m2e/releases

    之后往下点击,选中需要安装的部分即可。

    验证是否安装成功:

    file里new一个project,输入过滤条件maven ,看到maven的选项,说明安装成功。

    让eclipse使用外部安装的maven运行时

    windows-->preferences-->找到maven项目--》installation项目,点击add,找到本机maven位置确定即可。

    三、使用

    1.约定优于配置

    Convention Over Configuration

    源代码假定是在 /src/main/java,

    资源文件假定是在 src/main/resources

    测试代码假定是在 /src/test 。

    项目假定会产生一个 JAR 文件

    Maven假定你想要把编译好的字节码放到 /target/classes

    在 /target 创建一个可分发的 JAR 文件。

    看似没什么,但是比ANT使用要省事的多,ANT需要去配置每个目录。当然区别不只这些。

    默认结构如下图所示:

    2、创建Maven项目

    用命令创建

    mvn archetype:create       -DgroupId=wz.package -DartifactId=helloWorld

    Web项目增加:-DarchetypeArtifactId=maven-archetype-webapp

    groupId 组名,DartifactId项目名称。

    生成pom.xml如下所示:

     

    1. <modelVersion>4.0.0</modelVersion>  
    2. <groupId>myGroup</groupId>  
    3. <packaging>jar</packaging>  
    4. <url>http://maven.apache.org</url>  
    5. <properties>  
    6. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    7. </properties>  
    8. <dependencies>  
    9. <dependency>  
    10. <groupId>junit</groupId>  
    11. <artifactId>junit</artifactId>  
    12. <version>3.8.1</version>  
    13. <scope>test</scope>  
    14. </dependency>  
    15. </dependencies>  
    16. </project>  

    写一个 helloWorld

    •mvn clean compile    编译并生成target

    用eclipse maven插件创建项目

    1.new project 选择maven project
    2 创建简单project
    3.填写基本信息
    点击finish即可,生成的目录结构如下

    3 测试:

        @Test

        public void testsayHello(){

        App app = new App();

    String result = app.sayHello();

    Assert.assertEquals("Hello Maven!",result);

        }

    •mvn clean test

    4 搜索可用版本

    •http://mvnrepository.com/

    •如查找junit,找到很多版本,点开可见

    5 打包和安装

    mvn clean package

    mvn clean install

    mvn jetty:run (WEB项目运行)

    复杂的例子:

    org.springframework.samples.jpetstore(复杂)

    6 项目依赖范围

    compile(编译范围)compile是默认的范围;

    provided(已提供范围)如servlet

    runtime(运行时范围) 如JDBC的实现包

    test(测试范围)

    system(系统范围)

    四 常见问题

    1 转为WEB项目的问题

        mvn eclipse:eclipse 打成ECLIPSE项目,不能被识别为WEB项目,使用下面命令即可

    mvn eclipse:eclipse -Dwtpversion=1.0

    2.不识别M2_REPO

    M2_REPO这个参数Eclipse不认得,需要给它添上:

    Eclipse->Windows->Preferences->java->Build Path->Classpath Variables

    new一个,名字是M2_REPO,属性选folder,指向C:Documents and Settingskaseyxiong.m2 epository

    3 ECLIPSE部署时候依赖包没导入

        通常不会出现这个问题,如果出现,则项目--属性--deployment Assembly -->add --> build path entries -->选中需要的包 --> finish

    4 ECLIPSE未编译

    project --.> clean一下就行

    5 下载依赖包的源码

    加上参数: -DdownloadSources=true或者mvn dependency:sources

     

  • 相关阅读:
    CSS样式
    Python宏观
    javaScript----------(函数)
    vue-----5计算属性
    python之函数作用域、嵌套以及闭包
    python之函数的定义、传参以及动态参数
    python之文件操作
    基础数据类型的补充以及深浅copy
    小数据池、代码块以及编码转换
    python基础二
  • 原文地址:https://www.cnblogs.com/GodZhe/p/4814984.html
Copyright © 2011-2022 走看看