### 命令教程
* **打包项目**: `mvn clean package`主要是为了生成可部署的包,适用于构建阶段。
~~~
mvn clean package
~~~
* **清理(clean)**:删除以前构建产生的输出目录(如`target`目录),确保构建是从一个干净的环境中开始的。
* **编译(compile)**:编译项目的源代码。
* **测试(test)**:执行单元测试。
* **打包(package)**:将编译后的代码打包成可分发的格式,比如对于Java项目,通常是打包成JAR文件。这个过程也包括编译测试代码和运行测试(如果有的话)。
* **用途**:当你只想构建项目并得到可分发的包,但不需要将其安装到本地仓库时,可以使用这个命令。这个命令非常适合用于构建准备部署的应用程序包。
-----------------
**打包项目**: mvn clean install`则更进一步,除了生成包之外,还将其安装到本地仓库,便于本地其他模块或项目依赖,适用于构建并安装到本地环境的场景。
~~~
mvn clean install
~~~
* **清理(clean)、编译(compile)、测试(test)、打包(package)**:这些步骤与`mvn clean package`相同。
* **安装(install)**:在打包之后,`install`阶段会将打包好的可分发文件(如JAR)安装到本地Maven仓库中。这意味着在本地开发环境中,其他依赖这个项目的模块或项目可以直接从本地仓库中获取这个包,而不需要再次构建。
**用途**:当你完成了项目的构建并且希望这个构建结果可供本地其他项目作为依赖使用时,应该使用 `mvn clean install`。它不仅创建了可分发的包,还确保了这个包对于本地开发环境是可用的,无需手动复制文件或配置依赖路径。
测试到部署的一系列操作:
1. **mvn clean**:
* **作用**: 清理项目,删除以前构建生成的输出文件,如编译的类文件、测试结果和打包生成的jar/war文件等,位于`target`目录下。
2. **mvn compile**:
* **作用**: 编译项目源代码,将Java源文件编译为.class文件。
3. **mvn test-compile**:
* **作用**: 编译项目的测试源代码。
4. **mvn test**:
* **作用**: 运行项目的单元测试。
5. **mvn package**:
* **作用**: 根据`pom.xml`的配置,打包项目,生成jar/war等类型的可部署包,存放于`target`目录下。
6. **mvn install**:
* **作用**: 将打包好的可部署包安装到本地Maven仓库,使得本地其他项目可以引用这个包作为依赖。
7. **mvn deploy**:
* **作用**: 将打包好的可部署包部署到远程仓库(如公司内部的 Nexus 或 Maven Central),供其他开发者或项目使用。
8. **mvn site**:
* **作用**: 生成项目相关的文档站点,包括API文档、单元测试报告等。
9. **mvn verify**:
* **作用**: 运行所有检查,包括集成测试,以验证包是否有效且达到质量标准。
10. **mvn clean install -DskipTests**:
* **作用**: 执行清理、编译、打包和安装到本地仓库的操作,但跳过测试执行,适合快速构建而不关心测试结果时。
11. **mvn dependency:tree**:
* **作用**: 显示项目依赖树,帮助分析依赖关系。
12. **mvn help:effective-pom**:
* **作用**: 显示根据当前项目配置和继承的父POM生成的有效POM。
13. **mvn clean package -Dmaven.test.skip=true**:
* **作用**: 清理、打包项目,但跳过测试,常用于快速构建生产包。
这些命令覆盖了Maven的基本使用场景,但Maven的功能远不止于此,它还支持插件扩展,可以执行更多复杂的构建和管理任务。
- Golang
- Beego框架
- Gin框架
- gin框架介绍
- 使用Gin web框架的知名开源线上项目
- go-admin-gin
- air 热启动
- 完整的form表单参数验证语法
- Go 语言入门练手项目推荐
- Golang是基于多线程模型
- golang 一些概念
- Golang程序开发注意事项
- fatal error: all goroutines are asleep - deadlock
- defer
- Golang 的内建调试器
- go部署
- golang指针重要性
- 包(golang)
- Golang框架选型比较: goframe, beego, iris和gin
- GoFrame
- golang-admin-项目
- go module的使用方法及原理
- go-admin支持多框架的后台系统(go-admin.cn)
- docker gocv
- go-fac
- MSYS2
- 企业开发框架系统推荐
- gorm
- go-zero
- 优秀系统
- GinSkeleton(gin web 及gin 知识)
- 一次 request -> response 的生命周期概述
- 路由与路由组以及gin源码学习
- 中间件以及gin源码学习
- golang项目部署
- 独立部署golang
- 代理部署golang
- 容器部署golang
- golang交叉编译
- goravel
- kardianos+gin 项目作为windows服务运行
- go env
- 适用在Windows、Linux和macOS环境下打包Go应用程序的详细步骤和命令
- Redis
- Dochub
- Docker部署开发go环境
- Docker部署运行go环境
- dochub说明
- Vue
- i18n
- vue3
- vue3基本知识
- element-plus 表格单选
- vue3后台模板
- Thinkphp
- Casbin权限控制中间件
- 容器、依赖注入、门面、事件、中间件
- tp6问答
- 伪静态
- thinkphp-queue
- think-throttle
- thinkphp队列queue的一些使用说明,queue:work和queue:listen的区别
- ThinkPHP6之模型事件的触发条件
- thinkphp-swoole
- save、update、insert 的区别
- Socket
- workerman
- 介绍
- 从ThinkPHP6移植到Webman的一些技术和经验(干货)
- swoole
- swoole介绍
- hyperf
- hf官网
- Swoft
- swoft官网
- easyswoole
- easyswoole官网地址
- EASYSWOOLE 聊天室DEMO
- socket问答
- MySQL
- 聚簇索引与非聚簇索引
- Mysql使用max获取最大值细节
- 主从复制
- 随机生成20万User表的数据
- MySQL进阶-----前缀索引、单例与联合索引
- PHP
- 面向切面编程AOP
- php是单线程的一定程度上也可以看成是“多线程”
- PHP 线程,进程、并发、并行 的理解
- excel数据画表格图片
- php第三方包
- monolog/monolog
- league/glide
- 博客-知识网站
- php 常用bc函数
- PHP知识点的应用场景
- AOP(面向切面编程)
- 注解
- 依赖注入
- 事件机制
- phpspreadsheet导出数据和图片到excel
- Hyperf
- mineAdmin
- 微服务
- nacos注册服务
- simps-mqtt连接客户端simps
- Linux
- 切换php版本
- Vim
- Laravel
- RabbitMQ
- thinkphp+rabbitmq
- 博客
- Webman框架
- 框架注意问题
- 关于内存泄漏
- 移动端自动化
- 懒人精灵
- 工具应用
- render
- gitlab Sourcetree
- ssh-agent失败 错误代码-1
- 资源网站
- Git
- wkhtmltopdf
- MSYS2 介绍
- powershell curl 使用教程
- NSSM(windows服务工具)
- MinGW64
- 知识扩展
- 对象存储系统
- minio
- 雪花ID
- 请求body参数类型
- GraphQL
- js 深拷贝
- window 共享 centos文件夹
- 前端get/post 请求 特殊符号 “+”传参数问题
- 什么是SCM系统?SCM系统与ERP系统有什么区别?
- nginx 日志格式统一为 json
- 特殊符号怎么打
- 收藏网址
- 收藏-golang
- 收藏-vue3
- 收藏-php
- 收藏-node
- 收藏-前端
- 规划ITEM
- 旅游类
- 人脸识别
- dlib
- Docker&&部署
- Docker-compose
- Docker的网络模式
- rancher
- DHorse
- Elasticsearch
- es与kibana都docke连接
- 4种数据同步到Elasticsearch方案
- GPT
- 推荐系统
- fastposter海报生成
- elasticsearch+logstash+kibana
- beego文档系统-MinDoc
- jeecg开源平台
- Java
- 打包部署
- spring boot
- 依赖
- Maven 相关 命令
- Gradle 相关命令
- mybatis
- mybatis.plus
- spring boot 模板引擎
- SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程
- Spring Cloud
- Sentinel
- nacos
- Apollo
- java推荐项目
- gradle
- Maven
- Nexus仓库管理器
- Python
- Masonite框架
- scrapy
- Python2的pip2
- Python3 安装 pip3
- 安全攻防
- 运维技术
- 腾讯云安全加固建议
- 免费freessl证书申请
- ruby
- homeland
- Protobuf
- GIT
- FFMPEG
- 命令说明
- 音频
- ffmpeg合并多个MP4视频
- NODEJS
- 开发npm包
- MongoDB
- php-docker-mongodb环境搭建
- mongo基本命令
- Docker安装MongoDB最新版并连接
- 少儿编程官网
- UI推荐
- MQTT
- PHP连接mqtt
- EMQX服务端
- php搭建mqtt服务端