码迷,mamicode.com
首页 > 其他好文 > 详细

【tool】Maven详解

时间:2019-10-10 22:29:51      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:存在   冲突   too   ase   quick   依赖范围   maven   远程仓库   环境   

项目构建

  在构建maven项目时,关于Archetype骨架的选择一般有2种:webapp( web项目)、quickstart(java简单工程)

命令

Maven compile: 将工程的所有源码和配置文件编译输出到项目跟目录的target/classes中

Maven package:将当前项目中所运行的资源打成java工程的包,java/war

Maven install: 将当前项目资源放在本地库中,形成库管理文件,供别人使用

Maven deploy:将当前项目上传到远程仓库,协同开发,仓库地址需要配置

Maven test:测试并生成测试日志

插件

<build>
    <plugins>
       <plugin><!--配置生成源码包-->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugin>
    </plugins>
</build>  

依赖范围

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.7.RELEASE</version>
            <scope>XXX</scope>
        </dependency>

 <scope></scope>依赖范围有:

  1. compile(默认):编译范围,编译、打包、安装、发布全部生命周期都存在该依赖资源

  2. test:测试范围,测试时加载依赖资源,打包、安装、发布都不参与

  3. runtime:运行时范围,和compile唯一的区别就是不参加编译,但是必须参加运行、打包阶段;例如JDBC

  4. provided:提供范围,例如:servlet-api,在编辑servlet,web应用时必须使用provided,但是运行、打包安装阶段不参加,防止tomcat执行冲突

  5. system:系统范围,使用在本机环境中存在需要使用的jar包资源;<systemPath>D:\***.jar</systemPath>,该方式可以参与maven打包发布

【tool】Maven详解

标签:存在   冲突   too   ase   quick   依赖范围   maven   远程仓库   环境   

原文地址:https://www.cnblogs.com/oxygenG/p/11650854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!