maven之clean、install命令
1、进入到maven根目录,执行mvn compile命令会在根目录生成target文件(参照maven之helloworld案例),如下图:

2、执行mvn clean可将根目录下生成的target文件移除
3、mvn install命令
首先同maven之helloworld案例一样,新建maven2项目

Speak.java代码
package com.maven;
import com.maven.HelloWorld;
public class Speak{
public String sayHi(){
return new HelloWorld().sayHello();
}
}

SpeakTest.java代码
package com.maven; import org.junit.*;
import org.junit.Assert.*; public class SpeakTest{
@Test
public void testSayHi(){
Assert.assertEquals("hello world!",new Speak().sayHi());
}
}
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.maven2</groupId>
<artifactId>maven-model2</artifactId>
<version>0.0.1</version> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
进到maven2目录下执行mvn compile命令,报错如下(找不到HelloWorld类):
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/code/maven2/src/main/java/com/maven2/Speak.java:[3,17] 找不到符号
符号: 类 HelloWorld
位置: 程序包 com.maven
[ERROR] /D:/code/maven2/src/main/java/com/maven2/Speak.java:[7,28] 找不到符号
符号: 类 HelloWorld
位置: 类 com.maven.Speak
此时,我们进入maven项目的根目录maven下,执行mvn install命令,将包含HelloWorld类的jar文件发布到本地仓库中。

maven本地默认仓库路径

接着配置pom.xml,添加新的依赖,将maven项目的坐标引用进来
<?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.maven2</groupId>
<artifactId>maven-model2</artifactId>
<version>0.0.2</version> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.maven</groupId>
<artifactId>maven-model</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</project>
此时,进入maven2工程根目录maven2,执行mvn compile命令,提示项目构建成功,如下
[INFO] Compiling 1 source file to D:\code\maven2\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.548 s
[INFO] Finished at: 2016-06-06T21:13:05+08:00
[INFO] Final Memory: 13M/155M
执行mvn test顺利通过
注:maven通过install将本地工程打包成jar包,放入到本地仓库中,再通过pom.xml配置依赖引入到当前工程。
pom.xml中引入的坐标首先在本地maven仓库中查找,若没有则去maven的网上中央仓库查找,并放到本地仓库供项目使用。
maven之clean、install命令的更多相关文章
- maven package,clean,install,compile命令
1.Ideal中显示 2.各个阶段干嘛的? compile,编译命令,会在项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件 pack ...
- maven 打包构建相关命令
1.命令 mvn clean package 依次执行clean.resources.compile.testResources.testCompile.test.jar(打包)等7个阶段. mvn ...
- maven package和install
mvn clean package依次执行了clean.resources.compile.testResources.testCompile.test.jar(打包)等7个阶段.mvn clean ...
- mvn clean package 、mvn clean install、mvn clean deploy的区别与联系
使用的时候首选:mvn clean package mvn clean package依次执行了clean.resources.compile.testResources.testCompile.te ...
- IDEA 中项目代码修改后不自动生效,需要执行 mvn clean install 才生效
问题描述 之前项目运行好好的,代码修改完之后会自动编译,编程体验很好. 有一天发现每次修改代码后需要重新使用mvn clean install命令重新编译,异常麻烦. 检查了 IDEA 的配置,已经配 ...
- Maven命令行使用:mvn clean install(安装)
先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: $ mvn clean install 执行结果如下: [INFO] Scannin ...
- idea工具maven生命周期clean,install,package等区别
idea工具maven projects里面有9种生命周期,生命周期是包含在一个项目构建中的一系列有序的阶段. 一.最常用的两种打包方法: 1.clean,package(如果报错,很可能就是jar依 ...
- Maven clean install 跳过单元测试
1.使用MVN命令 mvn clean install -DskipTests 或者 mvn clean install -Dmaven.test.skip=true 2.Eclipse中设置clea ...
- Maven Spring JUnit 在Maven Clean Install时报
问题: Maven Clean Install时, 遇到报错package org.junit does not exist 明显, Unit Test在Compile阶段就被检查了. 而POM.xm ...
随机推荐
- 演示get、post请求如何算sn,算得sn如何使用
import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.UnsupportedEncoding ...
- 关于The serializable class XXX does not declare a static final serialVersionUID field of type long的警告
编写实体类并且继承序列化接口时候,实体类会有警告,要生成一个静态的serialVersionUID. 上网搜了一下资料,现通俗解释一下: 点击前2个选项,会生成: private static fin ...
- ASP.NET WEB API 测试
编码时测试: Postman + Fiddler4 Postman进行发包 Fiddler4进行抓包 编码结束后测试: 通过Nuget引入组件WebApiTestClient: 接口文档 类属性 测试
- 收集的一些jQuery (我平常用的少的,但确实挺有效果的)
禁用Jquery(动画)效果 jQuery.fx.off = true; 使用自己的 Bullets(这个有一丁点儿的小技巧) //这里是js代码 也就是给每个ul添加一个类名 然后给ul的子li前面 ...
- chrome使用技巧
chrome使用技巧 chrome对于开发人员来说,绝对是一个神器.下面,介绍关于它的一些小技巧: 1.利用chrome快速定位source中的资源. 我之前一般如果查找每个文件,都是打开控制台,在s ...
- Altium Designer 多个输出相连等问题报错解决方法
问题: Altium Designer软件中,项目编译时,Message面板出现,如下错误: Net NetR121_1 contains multiple Output Pins; PC10 con ...
- npm run-script
package.json "scripts": { "start": "electron .", "package": ...
- OC面向对象特性: 继承
基础知识 1.标识符是有字母,数字,下划线组成的. 2.首字母只能是字母,下划线,不能为数字. 3.标识符要做到见名之意. 4.标识符不能使用已定义的关键字和预定义标识符. 继承 继承:子类可以直接访 ...
- Ansible facts
facts组件是Ansible用于采集被管理机器设备信息的一个功能.可以使用setup模块查机器的所有facts信息,可以使用filter来查看指定信息.整个facts信息被包装在一个json格式的数 ...
- OpenGL Driver Architecture[转]
http://www.cnblogs.com/cgwolver/archive/2009/01/04/1368350.html