精华内容
下载资源
问答
  • 2.maven compile 编译项目 3.maven test 编译项目后,再执行Junit测试方法 4.maven package 编译项目后,再执行Junit测试方法,再把项目打包到target目录 5.maven install 编译项目后,再执行Junit测试方法,再把...

    1.maven clean。
    清理项目的target目录
    2.maven compile
    编译项目
    3.maven test
    编译项目后,再执行Junit测试方法
    4.maven package
    编译项目后,再执行Junit测试方法,再把项目打包到target目录
    5.maven install
    编译项目后,再执行Junit测试方法,再把项目打包到target目录,再安装到本地仓库。

    展开全文
  • Maven作用

    千次阅读 2018-09-10 10:46:58
    强调内容 Evernote Export body, td { ...Maven作用(1)平时我们开发项目时,一般都是一个项目就是一个工程。我们划分模块时,都是使用package来进行划分。但是,当项目很大时,有很多...

    强调内容

    Evernote Export




    body, td {
    font-family: 微软雅黑;
    font-size: 10pt;
    }




    Maven的作用
    (1)平时我们开发项目时,一般都是一个项目就是一个工程。我们划分模块时,都是使用package来进行划分。但是,当项目很大时,有很多子模块时,即使是package来进行划分,也是让人眼花缭乱。
    优点一:项目非常大时,可借助Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作。而且模块之间还是可以发送消息的。
    (2)同一项目的jar包 复制 和 粘贴到WEB/INF/lib下
    问题:同样的jar包重复出现在不同的工程中,一方面浪费空间,同时也让工程臃肿
    优点二:借助Maven,可将jar包仅仅保存在“仓库”中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间。
    (3)如果jar包都到各个官网网站下载,会浪费很多时间,而且可能不全。
    优点三:借助Maven可以以规范的方式下载jar包,因为所有的知名框架或第三方工具的jar包已经按照统一的规范存放到了Maven的中央仓库中。
    (4)一个jar包依赖的其他jar包可能没导入到项目而导致项目跑不起来。
    优点四:Maven会自动将你要加入到项目中的jar包导入,不仅导入,而且还会将该jar包所依赖的jar包都自动导入进来。


    tc_server作用是在Tomcat镜像上右键点击有Browse Deployment location进入Eclipse的 wtpwebapps 下
    1.安装tc_server插件(使用Eclipse下载)
    ①打开Eclipse
    2.搜索 Pivotal tc Server Integration for Eclipse
    3.点击安装
    4.finish之后Eclipse自动重启 重启之后就能使用




    构建过程的各个环节
    [1]清理:将以前编译得到的旧的class字节码文件删除,为下一次做准备
    [2]编译:将Java源程序编译成class字节码文件
    [3]测试:自动测试 自动调用junit程序
    [4]报告:测试程序执行的结果
    [5]打包:动态web工程打成war包 Java工程打成jar包
    [6]安装:Mavwn特定的概念—-将打包得到的文件复制到"仓库"中的指定位置
    [7]部署:将动态web工程生成的war包复制到servlet容器的指定目录下,使其可以运行

    安装Maven核心程序:
    ①检查JAVA_HOME化境变量
    dos: echo %JAVA_HOME%
    ②解压Maven程序核心压缩包,放在无中文 无空格的路径下
    ③配置Maven的环境变量
    [1]MAVEN_HOME 或者是 M2_HOME (常规情况下不配置也可以,但是防止发生不必要的错误 所有需要配置)
    bin的上一级
    [2]path:配置到bin %MAVEN_HOME%bin;
    ④运行mvn -v 查看Maven的版本


    Maven 的核心概念:
    ①约定的目录结构
    ②POM
    ③坐标
    ④依赖
    ⑤仓库
    ⑥生命周期/插件/目标
    ⑦继承
    ⑧聚合

    第一个Maven工程
    ①创建约定的目录结构
    [1]根目录:工程名
    [2]src目录:源码
    [3]pom.xml:Maven工程的核心配置文件
    [4]main目录:存放主程序
    [5]test目录:存放测试程序
    [6]Java目录:存放Java源文件
    [7]resources目录:存放框架或者其他工具的配置文件

    为什么要遵守约定的目录结构呢?
    • Maven要负责项目的自动化构建,以编译为例,Maven要想自动化编译,那么Maven必须知道Java源文件保存的具体位置
    • 自定义的东西想让框架或者工具知道
      • 以配置的方式明确告诉框架

    Spring的<parame-value>classpath:spring-context.xml</param-value>

    • 遵守框架内部已经存在的约定

    log4j.properties
    log4j.xml

    • 约定>配置>编码



    手写Maven工程
    创建工程名
    Hello
    >src
    >main
    >Java
    package com.redpig.maven;//包名
    public class Hello{
    public String sayHello(String name){
    return "Hello"+name+"!";
    }
    }
    >resources
    package com.redpig.maven;
    import org.junit.Test;
    import static junit.framework.Assert.*;//导入测试的jar包
    public class HelloTest{
    @Test
    public void testHello(){
    Hello hello = new Hello();
    String results = hello.sayHello("张三");
    assertEquals("Hello 张三!",results);//assertEquals这个方法主要是做测试的
    }
    }
    >test
    >java
    >resources
    >pom.xml

    <?xml version="1.0" ?>//版本号
    <modelVersion>4.0.0</modelVersion>//模型版本

    <groupId>com.redpig.maven</groupId>
    <artifactId>Parent</artifactId>
    <version>0.0.1- </version> //当前坐标 唯一的标识

    <artifactId>Hello</artifactId>//工程名
    <dependencies>//所依赖的其他jar包
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    </dependency>
    </dependencies>



    常用的maven命令:
    ①执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录
    与构建过程相关: 编译 测试 打包…..
    ②常用命令
    [1]mvn clean   清理
    [2]mvn compile  编译主程序
    [3]mvn test-compile 编译测试程序
    [4]mvn test 执行测试
    [5]mvn package 打包
    [6]mvn install 安装
    [7]mvn site 生成站点


    关于联网问题:
    ①Maven的核心程序中仅仅定义看抽象的生命周期,但是具体的工作必须由特定的插件来完成,而插件本身并不包含Maven的核心程序中
    ②当执行maven命令需要用到某些插件时,Maven核心程序会首先到本地仓库中查找
    ③本地仓库的默认位置:[系统中当前用户的家目录].m2\repository
    C:\Users\登陆当前系统的用户名.m2\repository
    ④Maven核心程序如果在本地仓库中未找到运行需要的插件,那么会自动连接外网,到中央仓库下载
    ⑤此时如果午饭连接外网,则构建失败
    ⑥修改默认本地仓库的位置可以让Maven核心程序到自定义的目录下查找插件
    [1]找到Maven的解压目录\conf\settings.xml
    [2]在settings.xml文件中找到<localRepository>标签
    [3]将<localRepository>/path/to/local/repo</localRepository>从注释中取出
    [4]将标签体内容修改未已经准备好的Maven仓库目录
    <localRepository>D:\RepMaven</localRepository>

    POM:
    ①含义:Project Objest Model 项目对象模型
    ②pom.xml对于Maven工程时核心配置文件,与构建过程相关的一切配置都在这个文件中进行配置
    相当于web工程的web.xml文件

    坐标:
    ①数学中的坐标:
    [1]:在平面上, 使用 X ,Y两个向量可以实现唯一的定位平面上的任何一个点
    [2]:在空间中, 使用X, Y, Z三个向量可以实现唯一定位空间中的任何一个点
    ②Maven的坐标 简称(GAV)
    使用以下三个向量在仓库中唯一定位Maven工程
    [1]: groupid:公司或组织域名倒序+项目名
    <groupid>com.redpig.maven</groupid>
    [2]: artifactid:模块名称
    <artifactid>Hello</artifactid>
    [3]: version:版本
    <version>1.0.0</version>
    ③ Maven工程坐标与仓库中路径的对应关系
    [1]: Mavne工程坐标
    <groupId>org.springframework :域名 </groupId>
    <artifactId>spring-core :模块名 </artifactId>
    <version>4.0.0.RELEASE :版本号 </version>
    [2]:仓库路径
    org/springframework :域名 /spring-core :模块名 /4.0.0.RELEASE :版本号 /spring-core-4.0.0.RELEASE.jar :模块名+版本号


    仓库
    ①本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有的Maven工程服务
    ②远程仓库
    [1]:私服:架设在当前局域网环境下,未当前局域网范围内所有的maven工程服务
    [2]:中央仓库:架设在Internet上,为全世界所有的Maven工程服务
    [3]中央仓库镜像:架设在各个大洲,为中央仓库分担流量,减轻中央仓库的压力,同时更快的响应用户请求
    ③仓库中保存的内容: Mavne工程
    [1]Maven自身需要的插件
    [2]第三方框架或工具的jar包
    [3]自己开发的Maven工程

    依赖
    ① Maven解析依赖信息时会到本地仓库中查找被依赖的jar包
    对于我们自己开发的Maven工程 使用mvn insetall命令安装后就可以进入仓库
    ②依赖的范围
    [1]compile范围依赖
    ㈠对主程序是否有效 :有效
    ㈡对测试程序是否有效 :有效
    ㈢是否参与打包 :参与
    [2]test范围依赖
    ㈠对主程序是否有效 :无效
    ㈡对测试程序是否有效 :有效
    ㈢是否参与打包 :不参与
    ㈣典型例子 :junit

    [3]provided
    ㈠对主程序是否有效 :有效
    ㈡对测试程序是否有效 :有效
    ㈢是否参与打包 :不参与
    ㈣是否参与部署 :不参与
    ㈤典型例子 :servlet-api.jar

    生命周期
    ①各个构建环节的顺序:不能打乱顺序,必须按照既定的正确顺序来执行
    ②Maven的核心程序中定义了抽象的生命周期,生命周期中各个阶段的具体任务是由插件来完成的
    ③Maven核心程序为了更好的实现自动化构建,按照这一特点执行生命周期的各个阶段:不论现在要执行生命周期的那个一阶段,都是从这个生命周期最开始执行
    ④插件和目标
    [1]生命周期的各个阶段仅仅定义了哟奥执行的任务是什么
    [2]各个阶段和插件的目标是对应的
    [3]相似的目标由特定的插件来完成的

    生命周期阶段
    插件目标
    插件
    compile
    compile
    maven-compiler-plugin
    test-compile
    testCompile
    maven-compiler-plugin

    [4]可以将目标看作"调用插件功能的命令"


    在Eclipse中使用Maven
    ①Maven插件:Eclipse内置
    ②Maven插件的设置
    [1]Installations:指定Maven核心程序的位置,不建议使用插件自带的Maven程序,推荐使用我们解压的
    [2]User settings:指定的conf/settings.xml,进而获取本地仓库的位置
    ③基本操作
    [1]创建Maven版的Java工程
    ⑴eclipse创建Mavne工程
    ⑵跳过原型选择
    ⑶填写信息
    ⑷点击确定,生成Maven工程

    [2]创建Maven版的web工程
    ⑴创建web工程和Java工程一样 却别在于打包方式
    ⑵创建出来的web工程缺少WEB_INF这些东西所以需要配置
    ⑶点击ok
    [3]执行Maven命令



    依赖
    ①依赖的传递性
    [1]好处:可以传递依赖不必在每个模块中都重复声明,在在"最下面"的工程中依赖一次即可
    [2]注意:非compile范围的依赖不能传递 所以在各个工程模块中,如果有需要,就得重复声明依赖
    ②依赖的排除
    [1]需要设置依赖排除的场合
    [2]依赖配置的方式
    <exclusions>
    <exclusion>
    <groupid>commons-logging</groupid>
    <artifactid>commons-logging</artifactid>
    </exclusion>
    </exclusions>
    ③ 依赖的原则
    [1]作用:解决模块工程之间的jar包冲突问题
    情景设定1:验证路径最短者优先
    情景设定2:验证路径相同时先声明者优先
    先声明指的是pom.xml里面dependency标签的声明顺序

    统一管理依赖的额版本
    ①情景举例
    这里对Spring的各个jar包依赖的管理都是4.0.0
    如果需要统一升级为4.1.1,怎么办???手动修改不可靠
    [2]建议配置方式
    ⑴使用Properties标签内使用自定义标签统一声明版本号
    <properties>
    <redpig.spring.version>4.0.0.RELEASE</redpig.spring.version>
    </properties>
    ⑵在需要统一版本的位置,使用{自定义标签名}引用声明的版本号</span></div><div><span style="font-weight: bold;">            &lt;version&gt; {自定义标签名}引用声明的版本号</span></div><div><span style="font-weight: bold;">            &lt;version&gt; {redpig.spring.version}</version>
    ⑶其实<properties>标签配合自定义标签声明数据的配置并不是只局限于声明依赖的版本号.凡是需要统一声明后在引用的场合都可以使用


    继承:
    ①现状
    HEllo依赖的junit : 4.0
    HelloFriend依赖的junit : 4.0
    MakeFriends依赖的junit : 4.9
    因为junit时test范围的依赖,所以不能传递,一定会分散在各个模块中,很容易造成版本不一样
    ② 需求:统一管理各个模块工程中对junit依赖的版本
    ③解决思路 将junit依赖统一提取到"父"工程中 在子工程中声明junit是不指定版本,以父工程统一设定的为准,同时也便于修
    ④操作步骤:
    ⑴创建一个Maven工程作为父工程.注意打包方式为POM
    ⑵在子工程中声明对父工程的引用
    ⑶ 将子工程的坐标与父工程的坐标中重复的内容删除
    ⑷在父工程中统一junit的依赖
    ⑸在子工程中删除junit依赖的版本号部分
    ⑤注意:配置继承后,执行安装命令时 , 要先安装父工程

    聚合:
    ①:一键安装各个模块工程
    ②配置方式:在一个"总的聚合工程:中配置各个参与聚合的模块
    配置聚合
    <modules>
    <!– 指定各个子工程的相对路径 –>
    <module></module>
    <module></module>
    </modules>
    ③使用方式:在聚合工程的pom.xml上点击右键run as →maven install


    展开全文
  • Maven compile能过,idea build失败问题

    千次阅读 2020-05-26 10:22:13
    目录问题描述idea 版本问题表现解决方案 ...且maven compile 编译成功 idea build失败,报错:xxx.xx.x 不存在 比如我报错的就是这些依赖包不存在 解决方案 cmd命令行执行命令mvn idea:idea 然后

    问题描述

    idea 版本

    idea 2020.1
    在这里插入图片描述

    问题表现

    maven 项目,已经引入jar包依赖;
    本地repository里检查下载好了jar包;
    idea项目下Libraries下查看依赖jar也存在;
    同时编译失败的java文件中也能点进依赖的class类;

    且maven compile 编译成功

    idea build失败,报错:xxx.xx.x 不存在
    比如我报错的就是这些依赖包不存在
    在这里插入图片描述

    解决方案

    cmd命令行执行命令mvn idea:idea
    在这里插入图片描述

    然后File -> Invalidate Caches / Restart
    在这里插入图片描述
    打开之后rebuild project,问题解决

    展开全文
  • 2.maven compile 编译项目 3.maven test 编译项目后,再执行Junit测试方法 4.maven package 编译项目后,再执行Junit测试方法,再把项目打包到target目录 5.maven install 编译项目后,再执行Junit测试方法,再把...

    在这里插入图片描述

    1.maven clean。

    清理项目的target目录

    2.maven compile

    编译项目

    3.maven test

    编译项目后,再执行Junit测试方法

    4.maven package

    编译项目后,再执行Junit测试方法,再把项目打包到target目录

    5.maven install

    编译项目后,再执行Junit测试方法,再把项目打包到target目录,再安装到本地仓库。

    展开全文
  • 初学MAVENcompile失败

    千次阅读 2020-01-06 06:37:54
    使用https://start.spring.io/构建的springboot项目,想直接使用mvn ...但是遇到了问题。 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on pr...
  • 执行mvn compile 是生成WEB-INF下的class文件, 要生成target目录下的class文件,执行mvn package命令就可以了
  • maven 进行clean 、compile、package等操作都没问题 启动项目报错 解决方案一: IDEA的Build(编译)操作和Maven的Build是分开的 把IDE的Build/Run操作委托给Maven来进行,让两者统一 设置idea构建/运行操作委托给...
  • maven compile插件

    千次阅读 2016-12-23 16:51:30
    maven compile插件
  • 情况说明: 1.代码编辑器中无编译错误 2.确信包依赖无冲突且成功依赖 3.maven 进行clean 、compile、package等操作都没问题 4.启动项目报错,错误如下: 1234 解决方案一: 1.在项目根目录执行 mvn idea...
  • maven的install和compile区别

    万次阅读 2020-02-07 23:07:43
    maven install 是先进行打包,在target目录下生成新jar,同时将打包结果放到本地仓库的相应目录中,供其他项目或模块引用。 maven package 只是打包,并在target目录下生成新jar,maven仓库中还是老的jar。 我们在...
  • 最近在练一个CRM项目,在项目登录时总是报错: ... 错误500,查看响应信息...但是检查了SqlSessionUtil这个工具类,在maven编译的target中也有.class文件,没有任何问题; 百度了半天说是jvm运行时类加载器找不到stat..
  • maven compile遇到的问题

    2015-08-03 15:59:05
    我按照maven文件的约定结构写了一个Hello world,但是在运行mvn compile命令的时候出现了问题,求大神解答: ![文件结构](https://img-ask.csdn.net/upload/201508/03/1438617414_786055.png) HelloWorld.java ``` ...
  • [INFO] Compiling 13 source files to C:\Users\Administrator\Workspaces\MyEclipse 2017 CI\ojama\target\classes [INFO] ----------------------------... <artifactId>spring-boot-maven-plugin ```
  • 文章目录1、maven本地仓库、远程仓库、中央仓库2、maven package、install、deploy3、Compile、Make和Build 1、maven本地仓库、远程仓库、中央仓库 在 Maven 的术语中,仓库是一个位置。软件开发中不可避免的需要...
  • Maven Compile Encoding 乱码问题解决

    千次阅读 2011-09-23 11:56:51
    在hudson使用Maven构建项目,遇到警告:   [WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform depend
  • 解决maven工程compile failure的问题

    千次阅读 2017-12-13 14:51:10
    解决maven工程的compile failure问题
  • 下面介绍eclipse maven操作正常出现的No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 错误的解决办法。 1.eclipse maven操作右击Run as 都能看到,如图所示 ...
  • 原文地址Maven compile 编译通过 IDEA 的 Build 编译失败 程序包不存在
  • 如果maven compile install 无class文件 或者 找不到引用包和类。但是手动编译或者使用eclipse编译都正常 检查pom.xml文件依赖关系的scope 你的scope可能是test或者runtim。导致编译出问题 * compile,缺省值...
  • Maven依赖范围 -maven scope -compile依赖范围 -test依赖范围 -provided范围依赖
  • Maven项目构建命令compile、test、package

    万次阅读 2017-07-28 09:32:19
    前面我们按照maven约束好的文件路径建好项目后,加入pom.xml 在命令行输入mvn compile后,maven就会自动帮我们下载依赖jar,为代码生成字节码文件等。我们把这个过程称为 编译。 test 前面我们写好测试类,在...
  • 自定义异常内容1. scope标签的作用总结 内容 1. scope标签的作用 取值 使用范围 是否参与打包 代表依赖 system 测试代码、程序主代码 ...compile 测试代码、程序主代码 是 ojdbc.jar 说明: 【1
  • 第一次用maven创建项目,运行mvn compile报错 [ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for ...
  • maven生命周期介绍: 编译(mvn compile) 测试(mvn test-compile和mvn test) 打包(mvn package和mvn install和mvn deploy) 运行(mvn exec) compile 默认scope,参与编译、测试、打包、运行。 test 仅参与测试...
  • 做一个实验就可以很容易发现,当我们用maven install生成最终的构件包ProjectABC.war后,在其下的WEB-INF/lib中,会包含我们被标注为scope=compile的构件的jar包,而不会包含我们被标注为scope=provided的构件的jar...
  • maven package,clean,install,compile命令

    万次阅读 多人点赞 2018-07-21 08:56:32
    1.compile,编译命令,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。 2.package,这个命令会在你的项目路径下一个target目录,并且拥有compile...
  • compile只是编译工程,既对编译路径下的源代码进行编译 build是构建工程,一般会经过清理,编译,打包等过程,生成最终可运行或可部署的程序包 另外可参考:...
  • 问题:maven第一次编译时 一直报错 网上各种解决方式都试过了,都没成功 是本地仓库一个插件的问题 [ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be ...
  • Maven 依赖的作用

    2018-07-09 11:02:00
    Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。 scope的分类 compile ...
  • 仔细看上面的报错信息:No compiler is provided ...自己可以翻译理解:maven编译需要运行jdk而不是jre,所以我们需要把运行环境改成jdk 可是我自己的运行环境就是jdk!!! 自己然后就改了很多,比如:是不是maven

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,562
精华内容 33,024
关键字:

maven的compile的作用