Maven---leaning02
2015-10-21 21:01
127 查看
在第二节中有如下内容
双项目的class怎么引用
mvn骨架的快速搭建
pom.xml文件中的groupId,artifactId,version的理解以及dependency的理解
本地仓库[默认C:\Users\XXX.m2\repository]:由于在C盘中,所以实际上仓库会很不安全,万一系统重装,那么仓库就会丢失,得重新创建,所以需要自定义本地仓库。
自定义仓库:
将XXX\apache-maven-3.3.3\conf\setting.xml复制到新的仓库目录下XXX\maven\repository
修改两个setting.xml文件,添加
测试,mvn compile,发现又重新下载相关包,并且可以观察到新的仓库中已经下载了。
命令:mvn archetype:generator
这个命令就会根据maven的目录结构创建所需要的文件夹和pom.xml
执行上述命令后就会出现下述字样:
//准备工作
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:6
Define value for property ‘groupId’: : org.learning.maven
Define value for property ‘artifactId’: : maven-ch04
Define value for property ‘version’: 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT
Define value for property ‘package’: org.learning.maven: :
Confirm properties configuration:
groupId: org.learning.maven
artifactId: maven-ch04
version: 0.0.1-SNAPSHOT
package: org.learning.maven
Y: :Y
//success
通过上述过程就可以快速搭建骨架了
注意:maven版本,groupId,artifactId,version都是需要自己写的。
简便写法:
mvn archetype:generate -DgroupId=org.learning.maven -DartifactId=maven-ch04 -Dversion=0.0.1-SNAPSHOT
1、编辑pom.xml
2、创建src文件夹及其他相关的文件夹
3、mvn compile
可能的出错信息,找不到相关的类,因此需要添加dependency
以下信息就是相关类所在的包的pom.xml中的定义
4、继续mvn compile,出现
[ERROR] Failed to execute goal on project maven-ch02: Could not resolve dependencies for projec
t org.learning.maven:maven-ch02:jar:0.0.1-SNAPSHOT: Could not find artifact org.learning.maven:
maven-ch01:jar:0.0.1-SNAPSHOT -> [Help 1]
也就是说,找不到上述依赖所定义的类
5、回到依赖类定义的pom.xml所在的文件夹中,执行mvn install,成功之后,再回到现在的pom.xml所在的文件夹中,执行mvn compile,就可以success了
mvn package:单纯的打包,并不会添加到本地仓库
mvn install:将jar包发布到本地仓库中,这样就可以使用dependency引进类了
所以其他的项目使用一个项目里面定义的类时,必须使用mvn install 将它添加到仓库中。
双项目的class怎么引用
mvn骨架的快速搭建
pom.xml文件中的groupId,artifactId,version的理解以及dependency的理解
pom.xml文件的理解
中央仓库[repo.maven.apache.org/maven2]:所有的jar包都在仓库中,maven加载jar包时会先从本地仓库中查找,找不到则从中央仓库中查找。本地仓库[默认C:\Users\XXX.m2\repository]:由于在C盘中,所以实际上仓库会很不安全,万一系统重装,那么仓库就会丢失,得重新创建,所以需要自定义本地仓库。
自定义仓库:
将XXX\apache-maven-3.3.3\conf\setting.xml复制到新的仓库目录下XXX\maven\repository
修改两个setting.xml文件,添加
<localRepository>XXX\maven\repository</localRepository>
测试,mvn compile,发现又重新下载相关包,并且可以观察到新的仓库中已经下载了。
<!-- 在仓库中查找该类的时候,使用的路径是groupId:artifactId:version:jar也就是说mvn install会根据这三项确定添加到仓库中的位置 从上述描述就可以知道一个jar包的确定是由groupId:artifactId:version来决定的。 --> <groupId>org.learning.maven</groupId> <artifactId>maven-ch03</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <!-- 所谓的依赖就是指定从仓库中的什么地方查找jar包。 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
mvn 骨架的快速创建
maven是“约定大于配置”,所以就可以根据约定快速的创建文件夹。命令:mvn archetype:generator
这个命令就会根据maven的目录结构创建所需要的文件夹和pom.xml
执行上述命令后就会出现下述字样:
//准备工作
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:6
Define value for property ‘groupId’: : org.learning.maven
Define value for property ‘artifactId’: : maven-ch04
Define value for property ‘version’: 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT
Define value for property ‘package’: org.learning.maven: :
Confirm properties configuration:
groupId: org.learning.maven
artifactId: maven-ch04
version: 0.0.1-SNAPSHOT
package: org.learning.maven
Y: :Y
//success
通过上述过程就可以快速搭建骨架了
注意:maven版本,groupId,artifactId,version都是需要自己写的。
简便写法:
mvn archetype:generate -DgroupId=org.learning.maven -DartifactId=maven-ch04 -Dversion=0.0.1-SNAPSHOT
双项目的引用
假设:现在我们已经创建了maven-ch01,现在想要在maven-ch02中使用maven-ch02中定义的类。1、编辑pom.xml
2、创建src文件夹及其他相关的文件夹
3、mvn compile
可能的出错信息,找不到相关的类,因此需要添加dependency
以下信息就是相关类所在的包的pom.xml中的定义
<!--这个实际上就是maven-01中的groupId,artifactId,version--> <dependency> <groupId>org.learning.maven</groupId> <artifactId>maven-ch01</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
4、继续mvn compile,出现
[ERROR] Failed to execute goal on project maven-ch02: Could not resolve dependencies for projec
t org.learning.maven:maven-ch02:jar:0.0.1-SNAPSHOT: Could not find artifact org.learning.maven:
maven-ch01:jar:0.0.1-SNAPSHOT -> [Help 1]
也就是说,找不到上述依赖所定义的类
5、回到依赖类定义的pom.xml所在的文件夹中,执行mvn install,成功之后,再回到现在的pom.xml所在的文件夹中,执行mvn compile,就可以success了
mvn package:单纯的打包,并不会添加到本地仓库
mvn install:将jar包发布到本地仓库中,这样就可以使用dependency引进类了
所以其他的项目使用一个项目里面定义的类时,必须使用mvn install 将它添加到仓库中。
相关文章推荐
- 测试管理工具
- 三大框架的优缺点
- 确定指定年份季度的开始日期和结束日期
- (原创)c#学习笔记04--流程控制04--循环02--while循环
- C++中尖括号和引号的区别---转载
- GCD之队列的选择和与主线程之间的通信
- 开源选型之Android三大图片缓存原理、特性对比
- php header输出类型(备查)
- Android+jsp +html 文件上传案例 已测试 成功通过
- 中国第四波创业致富潮来临,你抓住机会了吗?
- Windows 7(64bits)+虚拟机运行Cocos2d-x 3.8.1 cpp-tests项目
- Windows 7(64bits)+虚拟机运行Cocos2d-x 3.8.1 cpp-tests项目
- actionbar设置背景图片和文字颜色
- windows wamp运行提示 Fatal error: Call to undefined function curl_init的解决方法
- Freemarker中将字符串转换为数字number
- 运行地址和加载地址
- 信管考试笔记之一
- HDU 1686 - Oulipo(kmp)
- [笔记] Convex Optimization 2015.10.14
- LUA中的数学库介绍