Maven知识点积累二
①maven常用命令:
mvn clean:清除target下编译生成的class文件
mvn compile:编译
mvn package:打包放到target下
mvn install:打包并放到本地仓库
mvn deploy:打包并放到私服上。
mvn source:把项目源码放到私服上。
放到私服上需要在setting.xml(<servers></servers>标签中)或者pom.xml中配私服,配置时需要配上私服的用户名,密码,才能放上去。
install放到本地仓库的包,除了生成的jar,还有pom文件,如下:
<!--install打印ID日志:-->
[INFO] Installing C:\workspaceAll\eclipseWorkspace\activiti-demo\target\activiti-demo-0.0.1-SNAPSHOT.jar to G:\.m2\repository\com\example\activiti-demo\0.0.1-SNAPSHOT\activiti-demo-0.0.1-SNAPSHOT.jar
[INFO] Installing C:\workspaceAll\eclipseWorkspace\activiti-demo\pom.xml to G:\.m2\repository\com\example\activiti-demo\0.0.1-SNAPSHOT\activiti-demo-0.0.1-SNAPSHOT.pom
[INFO] Installing C:\workspaceAll\eclipseWorkspace\activiti-demo\target\activiti-demo-0.0.1-SNAPSHOT-jar-with-dependencies.jar to G:\.m2\repository\com\example\activiti-demo\0.0.1-SNAPSHOT\activiti-demo-0.0.1-SNAPSHOT-jar-with-dependencies.jar
放到本地仓库的:
项目打包放到私服,不仅仅是把打成的jar包copy过去,而是上图中生成的文件都需要放。
要么配置好,deploy命令直接放到私服上。要么在本地install,把生成的整个包都传到私服上。
如果放到私服的包只有jar,那么使用私服的时候就会报错。因为需要根据pom文件去查找下载引用的jar, 如果没有pom,jar中引用的包不会下载,项目就会报错。
比如:spring-boot-starter-thymeleaf这个jar中引用了thymeleaf:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>${thymeleaf.version}</version>
</dependency>
但是私服上spring-boot-starter-thymeleaf这个包只有jar,没有pom文件。所以,项目在download时,就只下载spring-boot-starter-thymeleaf,不会下载thymeleaf。导致项目报错。
打开本地仓库spring-boot-starter-thymeleaf所在位置:
这个pom文件的内容是私服自动生成的,不含depencies的:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>1.5.9.RELEASE</version>
<description>POM was created by Sonatype Nexus</description>
</project>
无法根据这个pom去下载依赖的jar
②发布版本,示例:2.7.1。2是大版本,功能有大变动。7是小功能升级。1是修复小bug发布的版本
③maven项目中的package.cmd文件:
call mvn -Dmaven.test.skip=true clean package
pause
-Dmaven.test.skip=true 跳过单元测试文件
Maven知识点积累二的更多相关文章
- Maven知识点积累一
配置maven变量,变量名可以是:MAVEN_HOME 或 M2_HOME settings.xml配置本地仓库地址: <localRepository>G:/.m2/repository ...
- javascript知识点积累
8年javascript知识点积累 08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题, ...
- Maven入门系列(二)--设置中央仓库的方法
原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- Spring Boot Maven Plugin(二):run目标
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...
- Spring cloud的Maven插件(二):run目标
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- Maven系列(二)exec-maven-plugin
Maven系列(二)exec-maven-plugin 1. mvn 命令行运行 # exec:java 不会自动编译代码,你需要手动执行 mvn compile 来完成编译 mvn compile ...
- java知识点积累(一)
知识点积累 1.关于final的重要知识点: final关键字可以用于成员变量.本地变量.方法以及类: final修饰的成员变量必须在声明时被初始化,或者在构造器中初始化,否则就会报编译错误: 不能够 ...
随机推荐
- StringBuilder在高性能场景下的正确用法
转载:<StringBuilder在高性能场景下的正确用法> by 江南白衣 关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不 ...
- 利用fstream进行文件拷贝测试
今天翻到一个早期写测试代码的目录,找到几个以前的测试代码,于是拿出来贴到博客中.(只是简单的测试,并不严谨.注意这里windows和linux的硬件环境不一样) 这一个是使用fstream进行文件拷贝 ...
- 对span设置鼠标光标样式
<html> <body> <p>请把鼠标移动到单词上,可以看到鼠标指针发生变化:</p> <span style="cursor:au ...
- 【CLR】解析CLR的托管堆和垃圾回收
目录结构: contents structure [+] 为什么使用托管堆 从托管堆中分配资源 托管堆中的垃圾回收 垃圾回收算法 代 垃圾回收模式 垃圾回收触发条件 强制垃圾回收 监视内存 对包装了本 ...
- Effective Java 第三版——52. 明智而审慎地使用重载
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- 译 5. Spring使用JDBC访问关系数据
本指南将引导您完成使用Spring访问关系数据的过程.原文阅读 1. 你将构建什么? 您将使用Spring的JdbcTemplate构建一个应用程序来访问存储在关系数据库中的数据. 2. 你需要准备什 ...
- 译:2. RabbitMQ Java Client 之 Work Queues (工作队列)
在上篇揭开RabbitMQ的神秘面纱一文中,我们编写了程序来发送和接收来自命名队列的消息. 本篇我们将创建一个工作队列,工作队列背后的假设是每个任务都交付给一个工作者 本篇是译文,英文原文请移步:ht ...
- ES6,Array.copyWithin()函数的用法
ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去. Array.prototype.copyWithin(target, star ...
- 【Linux高级驱动】如何分析并移植网卡驱动
dm9000的驱动分析 m9000_init platform_driver_register(); db); db); ); ; id_val ; id_val ; /* 获取芯片型号 */ id ...
- 启动TDS LDAP 服务器遇到的问题总结
在启动TDS LDAP服务器时遇到一些问题,由于习惯使用Oracle数据库,而对DB2数据库比较陌生,在遇到这些问题时也是摸不到头脑,好在现在解决了,并把所遇到的问题罗列如下: 使用命令启动TDS L ...