maven学习笔记第一节一-maven install 模块之间相互引用
为什么80%的码农都做不了架构师?>>>
我们再做项目的时候,有很多模块是可以重复使用的,maven提供了很好的解决模块之间相互引用的方法,具体流程如下:
1.建立共用模块
2.把共用模块安装到本地maven仓库中(mvn install)
3.再引用项目中确定安装公共模块的坐标
4.完成,可以调用公共模块的方法和功能了
先说一下maven的基本命令
创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
创 建一个java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install
安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
跳过测试运行maven任务: mvn -Dmaven.test.skip=true XXX
生成eclipse项目文件: mvn eclipse:eclipse
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。
常用命令
1. 创建Maven的普通java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安装jar:mvn install
9. 清除产生的项目:mvn clean
10. 生成eclipse项目:mvn eclipse:eclipse
11. 生成idea项目:mvn idea:idea
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
13. 编译测试的内容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
16. 清除eclipse的一些系统设置:mvn eclipse:clean
17. mvn archetype:generate 这实际上就是让maven-archetype-plugin生成一个很简单的项目骨架,帮助开发者快速上手
D:\Users\Administrator\workspace\maven>mvn archetype:generate -DgroupId=com.m
DartifactId=my1 -Dversion-0.0.1-SNAPSHOT创建一个简单的java项目,按照maven目录结构
再eclipse中创建相互引用的项目
建立项目一:test
这里MavenHello就是我们要说的公共类,虽然没什么功能,呵呵代码如下:
package com.my;
public class MavenHello {
public static void say(){
System.out.println("hello");
}
}
pom文件如图:
这个项目的坐标就是:
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
在其他项目中就引用这块就可以了
建立项目test2,图就不上了
在test2中引用test项目中的一个方法
MavenHello.say();
在test2的pom文件中关联上对test的依赖
在eclipse中test2已经可以引用test的方法了
如果要用命令行试试,必须先到test目录下(就是pom文件那个目录)运行maven install命令将test安装到本地的maven仓库中,我运行了截图如下:
进入我的maven仓库就可以看到我刚才安装的包:
我们可以到test2下运行maven compile,项目是可以编译通过的,这样项目关联已经完成了
转载于:https://my.oschina.net/zaxb/blog/1544129
maven学习笔记第一节一-maven install 模块之间相互引用相关推荐
- Maven学习笔记,动力节点maven教程随堂笔记(史上最全)
Maven笔记 这篇笔记的学习视频来自b站动力节点 https://www.bilibili.com/video/BV1dp4y1Q7Hf 笔记中的源码下载地址 动力节点maven资料 第一部分 1. ...
- Angular学习笔记第一节 基本概念
1.Let do it! ####1.ng的基础概念 在学习ng之前,我们只需要掌握HTML.CSS.JS即可. 简称ng.名字不错,吊! 重要的特性 有了ng,我们就可以轻松的构建SPA应用,而且n ...
- CCSA学习笔记 第一节 思科安全解决方案综述
CCSA学习笔记 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 1.能够对思科安全的网络安全解决方案有初步认识 2 ...
- Maven学习笔记:什么是Maven什么是构建
自动化构建工具--maven 因:开发中存在的问题 一个项目=一个工程===>如果一个模块=一个工程就好了(如果每个工程中存在相同jar包,冗余) 需要的jar包及jar包依赖的相关jar包需要 ...
- TensorFlow学习笔记--第一节 hello TensorFlow
目录 代码块 语句解释 代码块 # -*- coding:utf-8 -*- import tensorflow as tf #创建想要的计算图 # 只有一个节点,tensor 常量消息由字符串构成 ...
- maven学习笔记——尚硅谷
文章目录 maven学习笔记--尚硅谷 第一章 Maven概述 第一节 为什么要学习Maven 1.Maven 作为依赖管理工具 1.1 jar 包的规模 1.2 jar 包的来源 1.3 jar 包 ...
- maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...
- Maven学习笔记__上篇
Maven学习笔记__上篇 本文档基于 尚硅谷视频教程 整理,仅用于个人学习/交流使用. 视频链接:https://www.bilibili.com/video/BV1TW411g7hP 官方资料:链 ...
- maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
前面maven 学习笔记(二)已经说过了怎样通过插件创建一个简单的工程,有了前面的基础,创建一个较复杂的工程就容易了很多.同样是通过已经有了插件,同样如果插件系统中并未存在,还是需要通过Add Arc ...
最新文章
- Android实现ListView异步加载图片
- Arduino可穿戴教程ArduinoIDE新建编辑源文件
- 伯明翰大学计算机科学网络安全硕士,2020年伯明翰大学网络安全硕士专业硕士申请条件-学费-世界排名...
- Ubuntu 11.04上搭建Android开发环境
- Common Lisp 初学者快速入门指导
- 20200207_Dontla_MBTI第二步基本分析报告((ISTJ))
- Visual Studio 2019 16.1 使用 .NET Core 3.0
- 高等数学下-赵立军-北京大学出版社-题解-练习12.4
- 即时通讯软件 的无锁数组操作
- 编译fastdfs报错Makefile:59: recipe for target 'fdfs_monitor' failed
- NAB展会新闻:微软和媒体娱乐合作伙伴在Windows Azure平台上发展数字供应链解决方案...
- Python编程——函数
- 计算机功能性英语作文,2017考研英语作文:10个功能性“仿写”句型
- java spark命令行执行参数
- QT D:\Program Files (x86)\SogouInput\Components\
- 车载视频监控基于JTT808/1078管理平台商业开源
- 程序员需要知道的地理知识
- 积极心理学第十九课 如何让爱情天长地久
- 20210714学习手记 CANopen 协议
- 迁移数据到历史表SQL