maven 使用 狗剩学习笔记

maven 编程不良人视频

maven 小白入门实战–编程不良人
https://www.bilibili.com/video/BV1QE411x7cJ?p=2

1,2 -----20201124 read

共6个小时

P1.maven的引言----------------------46:00
P2.maven的第一个环境搭建--------------------41:40
P3.maven与现有工具集成--------------------34:07
P4.maven中坐标依赖使用和maven中执行构建命令--------------------26:18
P5.maven中配置阿里云镜像--------------------40:45
P6.maven中创建web项目--------------------24:37
P7.使用maven构建SM整合开发--------------------30:03
P8.maven中scope属性解释--------------------46:29
P9.mybatis中动态sql--------------------59.13

常用指令

项目Value
mvn package打包
mvn site产生site
mvn test运行测试
mvn compile编译
mvn test-compile编译测试代码
mvn archetype:generate反向生成项目的骨架
mvn jar生成jar包
mvn install本地安装
mvn clean清除编译后的项目文件
mvn eclipse:eclipse生成eclipse项目
mvn idea:idea生成idea项目
mvn -Dtest package只打包不测试
mvn test -skipping comiple只测试不编译
mvn dependency:list查看当前项目已被解析的依赖
mvn deploy上传到私服
mvn source:jar源码打包
mvn -e显示详细错误信息
mvn validate验证工程是否正确
mvn jetty:run运行项目于jetty上

maven指令学习


*********************************************************************************
Maven常用命令:https://www.cnblogs.com/wkrbky/p/6352188.html

Maven依赖查询:http://mvnrepository.com/

4. 编译源代码:

mvn compile
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn compile

[INFO] Compiling 29 source files to D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

5. 编译测试代码:

mvn test-compile
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn test-compile

6. 运行测试:

mvn test
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn test

7. 产生site:
mvn site
执行mvn site命令生成应用程序文档
注意:实际执行过程中会从内网服务器下载jar包到本地,此指令需再学习


8. 打包:
mvn package
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn package

9. 在本地Repository中安装jar:
mvn install          -------------执行失败,原因待学习
例:installing D:\xxx\xx.jar to D:\xx\xxxx
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn install target\syncVehDataFromCrm-1.0-SNAPSHOT.jar to D:\tmp\
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'D' in the current project 


10. 清除产生的项目:
mvn clean
清空本地项目target目录下的文件


14. 编译测试的内容:
mvn test-compile      
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn clean
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn test-compile


15. 只打jar包:

mvn jar:jar
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn jar:jar


18.查看当前项目已被解析的依赖:
mvn dependency:list

D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn dependency:list
[INFO]
[INFO] The following files have been resolved:
[INFO]    org.springframework.boot:spring-boot-starter:jar:2.1.2.RELEASE:compile
[INFO]    org.springframework.boot:spring-boot:jar:2.1.2.RELEASE:compile
[INFO]    org.springframework:spring-context:jar:5.1.4.RELEASE:compile
[INFO]    org.springframework:spring-aop:jar:5.1.4.RELEASE:compile


21. 源码打包:

mvn source:jar



22. mvn compile与mvn install、mvn deploy的区别
mvn compile,编译类文件
mvn package, 打包文件 
mvn install,包含mvn compile,mvn package,然后上传到本地仓库
mvn deploy,包含mvn install,然后,上传到私服



1. 显示版本信息 :
mvn -version/-v

D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: C:\Program Files\maven\apache-maven-3.5.2\bin\..
Java version: 1.8.0_162, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_64\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"


3. 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 :
mvn package

6. 验证工程是否正确,所有需要的资源是否可用:

mvn validate

8. 运行任何检查,验证包是否有效且达到质量标准:
mvn verify

22. 打印出已解决依赖的列表 :
mvn dependency:resolve
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn dependency:resolve
[INFO] The following files have been resolved:
[INFO]    org.springframework.boot:spring-boot-starter:jar:2.1.2.RELEASE:compile
[INFO]    org.springframework.boot:spring-boot:jar:2.1.2.RELEASE:compile
[INFO]    org.springframework:spring-context:jar:5.1.4.RELEASE:compile
[INFO]    org.springframework:spring-aop:jar:5.1.4.RELEASE:compile

23. 打印整个依赖树 :
mvn dependency:tree
D:\03_SVN\net\徐工基础2018\syncVehDataFromCrm>mvn dependency:tree

[INFO] com.tiza.xcmg:syncVehDataFromCrm:jar:1.0-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter:jar:2.1.2.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot:jar:2.1.2.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-context:jar:5.1.4.RELEASE:compile
[INFO] |  |     +- org.springframework:spring-aop:jar:5.1.4.RELEASE:compile
[INFO] |  |     +- org.springframework:spring-beans:jar:5.1.4.RELEASE:compile
[INFO] |  |     \- org.springframework:spring-expression:jar:5.1.4.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.1.2.RELEASE:compile
[INFO] |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.11.1:compile
[INFO] |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.11.1:compile
[INFO] |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile


在这里插入图片描述

最简单的 maven 打包helloWorld 示例

package com.tiza.leo.release;

/**
 * Author: tz_wl
 * Date: 2021/1/11 15:04
 * Content:
 */
public class App {
    public static void main(String[] args) {
        for (int i = 0; i < 1000; i++) {
            try {
                Thread.sleep(4000);    // 4 秒 打印一次
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(" currentTime is :" + System.currentTimeMillis());
        }
    }
}

在这里插入图片描述

在这里插入图片描述
D:\05_CodeFromLeo\JAVA\TestMavenRelease\testRelease\src\main\java
提示: 生成可执行jar运行提示没有主清单属性

D:\05_CodeFromLeo\JAVA\TestMavenRelease\testRelease\src
正常的Directory路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关于 META-INFO

默认没有添加springboot-maven插件情况下的打包 没有main 运行会报错

mvn clean
mvn package
java -jar *** ,会提示找不到main 报错

在这里插入图片描述
生成的 META-INFO/MANIFEST.MF 文件

Manifest-Version: 1.0
Implementation-Title: testRelease
Implementation-Version: 1.0-SNAPSHOT
Built-By: tz_wl
Implementation-Vendor-Id: com.tiza.leo
Created-By: Apache Maven 3.5.2
Build-Jdk: 1.8.0_162
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
 ot-starter-parent/testRelease
Main-Class: com.tiza.leo.release.App

添加springboot-maven插件情况下的打包

pom文件中 增加 节点下的节点 ,配置增加 springboot maven 插件 用于打包



    <properties>       
        <start-class>com.tiza.leo.release.App</start-class>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.3.RELEASE</version>
                <configuration>
                    <mainClass>${start-class}</mainClass>
                    <!--layout 属性用来指定打成 jar 还是 war 文件,可用的值包括:ZIP 、JAR 、WAR、 NONE  注意大小写-->
                    <layout>JAR</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                          <!--  spring-boot-maven-plugin 的构建目标:
                            spring-boot:run 运行你的Springboot应用
                            spring-boot:repackage 将mvn package 生成的 jar或者war 重新打包成可执行文件,同时修改原文件名,增加.origin 后缀
                            spring-boot:start 与 spring-boot:stop 用来管理Springboot应用的生命周期(例如,mvn integration-test 集成测试阶段)
                            spring-boot:build-info 生成构建信息build-info.properties 可供Actuator 使用-->
                        </goals>
                    </execution>
                </executions>

            </plugin>
        </plugins>
     </build>


mvn clean
mvn package

在这里插入图片描述

Manifest-Version: 1.0
Implementation-Title: testRelease
Implementation-Version: 1.0-SNAPSHOT
Built-By: tz_wl
Implementation-Vendor-Id: com.tiza.leo
Spring-Boot-Version: 2.1.3.RELEASE
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.tiza.leo.release.App
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Created-By: Apache Maven 3.5.2
Build-Jdk: 1.8.0_162
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
 ot-starter-parent/testRelease

用包含 spring-boot-maven-plugin 的插件配置,
执行 mvn clean 后 ,
执行 mvn package 后 ,
再执行 java -jar
D:\05_CodeFromLeo\JAVA\TestMavenRelease\testRelease>java -jar target\testRelease-1.0-SNAPSHOT.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值