Maven项目管理(相关配置)

原创 2015年11月20日 18:24:22

pom.xml右键run as 。maven build
在goals中填入(选填)

clean       清理
compile     编译
tes         测试
package     打包
install     部署

解决maven项目update project会更改jdk版本问题

<build>
 <plugins> <plugin>
  <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId> 
   <version>3.1</version> 
   <configuration> 
   <source>1.8</source> 
   <target>1.8</target> 
   </configuration> 
   </plugin> 
   </plugins>
 </build>

pom文件提示错误,信息如下

Description Resource Path Location Type
Failure to transfer com.thoughtworks.xstream:xstream:jar:1.4.3 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact com.thoughtworks.xstream:xstream:jar:1.4.3 from/to central (http://repo.maven.apache.org/maven2): No response received after 60000 pom.xml /testweb line 1 Maven Configuration Problem
或者
Failure to transfer org.apache.maven.plugins:maven-surefire-plugin

网上搜到的方案 如下
1 删除m2\repository 所有 .lastUpdated为扩展名的文件
2 打开cmd 在 工程目录执行 mvn clean install -U ,注意U 大写

这两个方案我本地都不好使。。。
最后用最笨的方法,把另一台电脑的 respository目录直接拷贝覆盖本地的,
问题解决


pom.xml相关配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</>指定pom当前版本
<groupId>反写公司网址+项目名</>定义maven属于哪个实际项目
<artifactId>项目名+模块名</>实际项目中一个模块的标识
<version></>
第一个0标识大版本号
第二个0标识分支版本号
第三个0表示小版本号
0.0.1
snapshot快照
alpha内部测试
beta公测
Release稳定
GA正式发布

<packaging></>
默认是jar war zip pom

<properties>
定义一些复用内容,方便统一修改
</>

<name>项目名称</>
<url>项目地址</>
<description>项目描述</>
<developers>开发人员列表</>
<licenses>许可证信息</>
<organization>组织信息</>

<dependencies>      依赖列表
   <dependency>     依赖项
    <groupId></>
    <artifactId></>
    <verion></>
    <type></>
    <scope>test</>  依赖范围
    <optional>设置依赖是否可选</>
    <!--排除依赖传递列表>
    <exclusions>
       <exclusion>
       </exclusion>
    </exclusions>
   </dependency>
</dependencies>

依赖管理
<dependencyManagerment>
父模块中定义,子模块中直接继承就可以
   <dependencies>
    <dependency></>
   </dependencies>
</dependencyManagerment>

<build>
   插件列表
   <plugin>
    <groupId></>
    <artifactId></>
   </plugin>
</>

<parent>继承于哪个maven</>

<modules>
   <module>../com-a</>
   <module>../com-b</>
   <module>../com-c</>
</>

</project>

plugins

这里可以定义一个插件的版本等相关信息

<properties>
        <!-- Plugin的属性定义 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
<properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
            <!-- 这里使用了java.version来引用上文的版本信息 -->
                <source>${java.version}</source>
                <target>${java.version}</target>
                <showWarnings>true</showWarnings>
            </configuration>
        </plugin>
    </plugins>
<build>

依赖范围

<dependencies>      依赖列表
   <dependency>     依赖项
    <groupId>junit</>
    <artifactId>junit</>
    <verion>3.8.1</>

<dependencyManagerment>
   <dependencies>
compile:默认范围 编译测试运行都有效
provided:编译和测试有效
runtiome:测试和运行时有效
test:测试范围有效
system:编译和测试有效,与本机系统关联,可移植性差
import:只使用在中有用,表示从其他的pom中导入dependecy的配置
    <scope>test</>  
   </dependency>
</dependencies> 

依赖的传递

添加依赖
<dependencies>      
   <dependency>     
    <groupId>junit</>
    <artifactId>junit</>
    <verion>3.8.1</>
   </dependency>
</dependencies>
排除依赖
<dependencies>      
   <dependency>     
    <groupId>junit</>
    <artifactId>junit</>
    <verion>3.8.1</>
   </dependency>
   <exclusions>
       <exclusion>
        <groupId>com.yy</>
        <artifactId>com-yy</>
        <verion>3.1.1</>
       </exclusion>
   </exclusions>   
</dependencies>

修改maven的jdk版本

找到setting.xml
200行左右,
<profile>
其中有相关配置
</>

依赖冲突

比如a继承了b和c,但是b和c中各自导入了junit的不同的版本,那么a的junit应该是什么版本呢?
这里有以下规则:

1.短路优先
(路径长度短的先解析)
a->b->c->x(jar)
a->d->x(jar)
2.先声明先优先
(在路径长度相同的时候,谁先声明就先解析谁)
a->b->c->x(jar)
a->d->e->x(jar)


pom.xml中有如下配置
<dependencies>      
   <dependency>     
    <groupId>com-d</>
    <artifactId>dd</>
    <verion>3.7.1</>
   </dependency>
   <dependency>     
    <groupId>com-b</>
    <artifactId>bb</>
    <verion>3.8.1</>
   </dependency>
</dependencies>
这里是先定义的d所以这里的版本应该是更具d中的版本3.7.1

聚合和继承

聚合:将多个项目放到一起运行
新建maven项目juhe
<modules>
   <module>../com-a</>
   <module>../com-b</>
   <module>../com-c</>
</>
这样clean install这个juhe的时候就会产生上面三个jar
继承:比如过个项目都用到junit,那么可以向java一样创建一个jutint父类

新建一个parent项目
<packaging>pom</>
<dependencyManagerment>
   <dependencies>
    <dependency>
        <groupId>junit</>
        <artifactId>junit</>
        <verion>${junit.version}</>
        <scope>test</>
    </dependency>
   </dependencies>
</dependencyManagerment>

在子项目的pom文件中
<parent>
    引入父类
    <groupId>com.dd</>
    <artifactId>com-parent</>
    <verion>0.1.1-SNAPSHOT</>
</parent>
<dependencies>      
   <dependency>     
    <groupId>junit</>
    <artifactId>junit</>
    <!-- 这里verion和scope就不需要了 -->
   </dependency>
</dependencies>
版权声明:本文为博主原创文章,转载请注明本文地址。

eclipse中Maven相关配置

  • 2013年12月14日 16:47
  • 320KB
  • 下载

Maven配置流程

  • 2017年11月02日 21:12
  • 209KB
  • 下载

Maven学习总结(19)——深入理解Maven相关配置

MAVEN2的配置文件有两个settings.xml和pom.xml settings.xml:保存的是本地所有项目所共享的全局配置信息,默认在maven安装目录的conf目录下,如果没有安装mave...
  • u012562943
  • u012562943
  • 2016年06月15日 17:30
  • 3835

maven常用配置

eclipse 安装maven 插件 最好还是在marketplace处安装,不容易出现问题,当然,这种方式最大问题是速度慢,而且有时候网络连接经常断掉 help-eclipse marketp...
  • magic_wz
  • magic_wz
  • 2012年12月13日 13:42
  • 7044

win7 python3.6+selenium3.8.1运行chromedriver提示“Message: 'chromedriver' executable needs to be in PATH

问题:安装好Python和selenium后,运行如下代码准备打开Chrome浏览器时,报错如下: 代码: from selenium import webdriver dr=webdriv...
  • weixin_39860437
  • weixin_39860437
  • 2018年01月09日 11:43
  • 95

myeclipse创建maven项目pom报错,Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1

用mycelispe搭建SSM开发环境,创建项目后,POM直报错,提示xstream:xstream:jar存在问题,但是不影响运行。解决办法,在自己的.m2(C/user下)和本地applicati...
  • Huangcsdnjava
  • Huangcsdnjava
  • 2017年06月08日 23:34
  • 712

Maven错误问题解决 Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1 from https://repo.maven

错误问题描述 Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1 from https://repo.maven.apac...
  • fengyunhaitan
  • fengyunhaitan
  • 2016年06月24日 02:35
  • 4139

maven项目建立pom.xml报无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3

pom文件提示错误,信息如下   Description    Resource    Path    Location    Type Failure to transfer com....
  • liu22985342
  • liu22985342
  • 2015年01月29日 10:31
  • 3177

【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

上篇博文中我们介绍了maven下载、安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合,并我们创建一个maven的项目。 准备工作 在eclipse配置maven之前需要我们...
  • gebitan505
  • gebitan505
  • 2015年05月29日 13:54
  • 112214

Maven环境搭建和介绍

最近项目弄完了,有好多时间,准备把以前的知识复习一遍,以便日后更好的使用,先从maven搭建开始,然后再搭建以下SSH+mybatis的框架,弄完了在学学Hadoop分布式相关的东西。        ...
  • fengshizty
  • fengshizty
  • 2015年01月23日 11:45
  • 27532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Maven项目管理(相关配置)
举报原因:
原因补充:

(最多只允许输入30个字)