一、什么是pom文件:
pom作为项目对象模型。
通过xml表示maven项目,使用pom.xml来实现。
主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其其他所有的项目相关因素。
PS:maven是pom.xml中的junit是什么意思?
groupId 和artifactId没,不一定一样,这两个结合起来,想一个坐标系一样,知道这两个就好像知道的了 坐标系中哪个点一样,就能知道你用的是哪个jar包了。 一般这两个都是 提供jar的网站提供的。或者是自己 引用的自己的项目的jar包的值。
二、pom文件中各个节点的意思:
内容来源于:https://blog.csdn.net/LittleGiantWang/article/details/80346948
1、
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
http:/hi.baidu.com/banseon/demo/dev/
scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web
三、 基本分类:
1、SCM
软件配置管理,如cvs 和svn
xml 代码
< scm>
2、Repositories
配置同setting.xml中的开发库
Plugin Repositories
配置同 repositories
Distribution Management
用于配置分发管理,配置相应的产品发布信息,主要用于发布,在执行mvn deploy后表示要发布的位置
1 配置到文件系统
xml 代码
< repository>
< id>proficio-repository
< name>Proficio Repository
< url>file://${basedir}/target/deploy
< repository>
< distributionManagement>
2 使用ssh2配置
xml 代码
< repository>
< id>proficio-repository
< name>Proficio Repository
< url>scp://sshserver.yourcompany.com/deploy
< repository>
< distributionManagement>
3 使用sftp配置
xml 代码
< repository>
< id>proficio-repositoryi
< name>Proficio Repository
< url>sftp://ftpserver.yourcompany.com/deploy
< repository>
< distributionManagement>
4 使用外在的ssh配置
编译扩展用于指定使用wagon外在ssh提供,用于提供你的文件到相应的远程服务器。
xml 代码
< repository>
< id>proficio-repository
< name>Proficio Repository
< url>scpexe://sshserver.yourcompany.com/deploy
< repository>
< distributionManagement>
< build>
< extensions>
< extension>
< groupId>org.apache.maven.wagon
< artifactId>wagon-ssh-external
< version>1.0-alpha-6
< extension>
< extensions>
< build>
5 使用ftp配置
xml 代码
< repository>
< id>proficio-repository
< name>Proficio Repository
< url>ftp://ftpserver.yourcompany.com/deploy
< repository>
< distributionManagement>
< build>
< extensions>
< extension>
< groupId>org.apache.maven.wagongroupId>
< artifactId>wagon-ftpartifactId>
< version>1.0-alpha-6version>
< extension>
< extensions>
< build>
repository 对应于你的开发库,用户信息通过settings.xml中的server取得
Profiles
类似于settings.xml中的profiles,增加了几个元素,如下的样式:
xml 代码
< profiles>
四、如何导入本地的jar 并且注入(dependency)到本地pom文件
project root
modelVersion - 应被设置为 4.0.0
groupId - 项目组 id
artifactId - 项目 id
version - 项目版本
一个例子
假如:你需要另一个项目的jar,但你只知道名称,本地仓库里有这个jar,那么你的pom文件应该这么写:
本地环境地址是:D:\LocalMavenRepository\LocalRepository\ch\ethz\ganymed\ganymed-ssh2\262
pom。xml:
这样引入,你引入的文件就不会报错了。
还有一个特殊的 引包方式:
https://blog.csdn.net/qq_42815754/article/details/83446635