`

Maven POM 配置技巧(一)

阅读更多
一、排除传递依赖的某个jar,以避免版本冲突。例如: 开发工程中需要引用struts2(2.0.11.2)和freemarker(2.3.16),但该struts2默认依赖的是freemarker(2.3.8),可参考以下方式编写:

view plain
<dependency>  
    <groupId>org.apache.struts</groupId>  
    <artifactId>struts2-core</artifactId>  
    <version>2.0.11.2</version>  
    <type>jar</type>  
    <scope>compile</scope>  
    <exclusions>  
      <exclusion> <!-- 排除freemarker,以避免版本冲突 -->  
    <groupId>freemarker</groupId>  
    <artifactId>freemarker</artifactId>  
   </exclusion>  
 </exclusions>  
</dependency>  
<dependency>  
    <groupId>org.freemarker</groupId>  
    <artifactId>freemarker</artifactId>  
    <version>2.3.16</version>  
    <type>jar</type>  
    <scope>compile</scope>  
</dependency>  
 

 

二、发布jar包同时发布源码

view plain
    <plugin>  
<groupId>org.apache.maven.plugins</groupId>  
<artifactId>maven-source-plugin</artifactId>  
<version>2.1.2</version>  
<configuration>  
    <attach>true</attach>  
</configuration>  
<executions>  
    <execution>  
        <phase>compile</phase>  
        <goals>  
            <goal>jar</goal>  
        </goals>  
    </execution>  
</executions>           
    </plugin>  
 

 

三、Eclipse开发时,为方便使用内置tomcat调试,需将所依赖的jar包复制到WEB-INF/lib目录下。可通过以下配置:

view plain
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-dependency-plugin</artifactId>  
    <version>2.1</version>  
    <executions>  
           <execution>  
               <id>copy</id>  
               <phase>package</phase>  
               <goals>  
                   <goal>copy-dependencies</goal>  
               </goals>  
               <configuration>  
                   <outputDirectory>src/main/webapp/WEB-INF/lib</outputDirectory>  
               </configuration>  
           </execution>  
        </executions>   
</plugin>  
 
配置完成后。每次有添加jar包依赖时,需运行一次mvn package命令。

 

 

四、有时工程中想复用其它工程中的静态内容(image/css/js),为方便开发调试,需将相应的静态内容,解压缩到当前工程的webapp目录下。可通过以下配置:
view plain
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-dependency-plugin</artifactId>  
    <version>2.1</version>  
    <executions>  
           <execution>  
               <id>copy-statics</id>  
               <phase>generate-resources</phase>  
               <goals>  
                   <goal>unpack</goal>  
               </goals>  
               <configuration>  
                <artifactItems>  
              <artifactItem>  
        <groupId>com.yihaodian.front</groupId>  
        <artifactId>front-global</artifactId>  
        <version>1.0-SNAPSHOT</version>  
        <classifier>statics</classifier>  
        <type>zip</type>  
                 <overWrite>true</overWrite>  
                 <outputDirectory>src/main/webapp</outputDirectory>  
              </artifactItem>  
            </artifactItems>  
               </configuration>  
           </execution>  
        </executions>  
</plugin>  
 

配置完成后,需运行一次mvn generate-resources命令。
分享到:
评论

相关推荐

    李兴华maven配置与使用

    - **继承**:一个父POM可以定义一组通用的配置,子项目通过继承父POM,可以复用这些配置,减少重复工作。 - **聚合**:一个聚合项目可以包含多个子项目,执行`mvn install`时会递归处理所有子项目。 8. **Maven的...

    Maven学习记录(一):安装与环境配置

    ** Maven学习记录(一):安装与环境...正确的安装和配置是使用Maven的前提,而掌握其基本操作和配置技巧则能更高效地进行项目开发。随着对Maven的深入学习,你将发现它在自动化构建、版本管理和持续集成等方面的价值。

    apache maven安装包和maven实用技巧

    POM定义了一个项目的配置,包括依赖、构建目标、插件等。一个简单的POM.xml示例如下: ```xml &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...

    gbase(8t)(informix)+mybatis+maven+springboot 整合demo

    在本项目中,开发者需要创建Maven工程,添加GBase 8t、Informix、MyBatis、SpringBoot等相关依赖,并配置pom.xml文件,确保项目的正确构建。 SpringBoot是Spring框架的轻量级实现,提供了快速开发微服务的能力。在...

    maven tomcat idea 配置

    - `尚硅谷_宋红康_Maven的配置.pdf`:详细介绍了Maven的配置,包括POM.xml文件的使用和自定义Maven设置。 - `IDEA设置目录system.png/config.png`:这些图片可能展示了IntelliJ IDEA的系统和配置目录设置,帮助理解...

    maven配置

    本文将深入解析Maven配置的核心要素,包括`settings.xml`文件的详细解读、代理设置的全面指导、依赖排除的实用技巧以及Maven命令行参数的应用示例,帮助读者掌握Maven配置的精髓。 ### Maven配置之`settings.xml` ...

    Maven 可跑配置

    1. **Maven的项目对象模型(POM)**:POM是Maven的核心,它是XML格式的文件,包含了项目的配置信息,如依赖、构建目标、插件等。正确配置POM.xml文件是实现"Maven可跑配置"的关键。 2. **依赖管理**:在pom.xml中定义...

    Maven3.3.9安装包

    插件可以通过POM配置来定制。 ** Maven3.3.9安装步骤 ** 1. **下载**: 首先从Apache官网下载Maven3.3.9的zip文件,即`apache-maven-3.3.9.zip`。 2. **解压**: 解压缩到你选择的目录,例如`C:\Program Files\...

    maven多环境配置打包

    通常,开发者会创建多个Maven配置文件(profiles),每个文件对应一个特定的环境,然后通过filtering功能过滤资源文件中的变量,实现环境间配置的切换。 【标签】:“源码 工具” “源码”标签暗示了讨论可能涉及...

    maven总监的一些坑

    总之,了解和掌握Maven的配置与使用技巧,能帮助我们避免许多开发过程中的障碍,提高工作效率。通过对上述文档的深入学习和实践,我们可以更熟练地驾驭Maven,使它成为我们开发过程中的得力助手。

    maven安装与配置 docx

    - **利用POM文件**:`pom.xml`是Maven的核心配置文件,用于定义项目的依赖关系、构建规则等。掌握如何编写和维护POM文件对于有效使用Maven至关重要。 - **使用插件扩展功能**:Maven支持大量的插件,可以用来扩展其...

    Maven一些相关的配置

    这篇博客文章“Maven一些相关的配置”可能探讨了Maven在实际项目中的具体配置和使用技巧。虽然没有提供直接的链接内容,我们可以根据Maven的常见配置方面来展开讨论。 首先,Maven的配置主要体现在`pom.xml`文件中...

    maven历史版本下载

    使用Maven,开发者可以通过编写一个名为`pom.xml`的项目对象模型(Project Object Model)文件来定义项目的构建过程、依赖关系和构建目标。Maven会自动下载必要的库文件,并按照预设的生命周期阶段(如编译、测试、...

    maven+nexus学习帮助

    Maven是一个项目管理工具,它通过POM(Project Object Model)文件来管理项目的依赖、构建过程和配置。Nexus则是一个仓库管理器,它可以帮助组织和管理你的Maven依赖库,包括本地库、远程库和镜像。 在"Maven+nexus...

    maven 整合ssh之一

    【Maven】 Maven是一个项目管理和综合工具,它通过读取项目配置信息(如pom.xml文件)来管理项目的构建、报告和文档。Maven简化了构建过程,提供了一种标准化的方式来管理依赖关系,构建生命周期以及插件。 ...

    Windows、Linux下安装配置maven

    Maven通过项目对象模型(POM)来管理和构建项目,这个POM文件存储项目配置和依赖信息。Maven拥有项目生命周期和插件机制,能够执行从构建、测试到部署等一系列任务。Maven已成为Java项目构建的行业标准,相比早期的...

    maven笔记+教案

    提供的"Maven教案.docx"文档可能包含详细的Maven教程,涵盖了Maven的基本概念、使用方法、配置技巧以及解决常见问题等内容,适合初学者和进阶者参考学习。通过深入阅读这份教案,读者可以全面了解和掌握Maven的各个...

    PDF文档 Maven权威指南_中文完整版清晰

    Maven是一个基于项目对象模型(Project Object Model,POM)的概念,它能够自动化构建Java项目,包括编译源代码、运行测试、打包、部署等环节。通过使用统一的构建过程和约定优于配置的原则,Maven极大地简化了项目...

Global site tag (gtag.js) - Google Analytics