maven配置初步之plugs包管理(一)

2023-10-14 09:30
文章标签 maven 配置 初步 管理 plugs

本文主要是介绍maven配置初步之plugs包管理(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、引用本地包

<dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>2.10</version>
            <scope>system</scope>
             <systemPath>E:\Official Projects\Jmeter\apache-jmeter-2.10\lib\ext\ApacheJMeter_core.jar</systemPath>
        </dependency>

</scope>可以使用以下值:

* compile,缺省值,适用于所有阶段,会随着项目一起发布。 
    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

2、jar打包工具,maven-shade-plugin,将依赖包一起打包(它能够将所有jar里的spring.schemas文件进行合并,在最终生成的单一jar包里)

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.2</version>
                   <executions>
                       <execution>
                           <phase>package</phase>
                           <goals>
                               <goal>shade</goal>
                           </goals>
                           <configuration>
                               <transformers>
                                   <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                       <resource>META-INF/spring.handlers</resource>  
                                   </transformer>
                                   <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                       <resource>META-INF/spring.schemas</resource>  
                                   </transformer>
                               </transformers>
                           </configuration>
                       </execution>
                   </executions>
          </plugin>


3、将配置文件打在jar包之外

<build>

  <plugins>

  <plugin>

  <groupId>org.apache.maven.plugins</groupId>  

    <artifactId>maven-jar-plugin</artifactId>  

    <configuration>  

        <archive>  

            <manifest>  

                <addClasspath>true</addClasspath><!-- 加载class -->  

                <classpathPrefix>lib/</classpathPrefix><!-- 加载的class目录的前缀(依赖的jar目录) -->  

                <mainClass>com.bj.ihanysoft.MavenDemo.App</mainClass><!-- 入口类名 -->  

            </manifest>  

        </archive>  

     </configuration>  

  </plugin>

  <plugin>  

    <groupId>org.apache.maven.plugins</groupId>  

    <artifactId>maven-dependency-plugin</artifactId>  

    <executions>  

        <execution>  

            <id>copy-dependencies</id>  

            <phase>package</phase>  

            <goals>  

                <goal>copy-dependencies</goal>  

            </goals> 

            <configuration>  

                <outputDirectory>${project.build.directory}/lib</outputDirectory>  

                <overWriteReleases>false</overWriteReleases>  

                <overWriteSnapshots>false</overWriteSnapshots>  

                <overWriteIfNewer>true</overWriteIfNewer>  

            </configuration>  

        </execution>  

    </executions>  

</plugin>  

   <!-- 以utf-8编码拷贝配置文件,拷贝过程中是可以做变量替换的,也就是说你的配置文件可以是个模板,里面的${}所包含的内容是可以拷贝过程中替换的 -->  

<plugin>  

    <groupId>org.apache.maven.plugins</groupId>  

    <artifactId>maven-resources-plugin</artifactId>  

    <version>2.4</version>  

    <executions>  

        <execution>  

            <id>copy-resources</id>  

            <phase>package</phase>  

            <goals>  

                <goal>copy-resources</goal>  

            </goals>  

            <configuration>  

                <encoding>UTF-8</encoding>  

                <outputDirectory>${project.build.directory}</outputDirectory><!-- 把配置文件拷到和jar包同一个路径下 -->  

                <resources>  

                    <resource>  

                        <directory>src/main/resource/</directory>  

                        <includes>  

                            <include>s.xml</include>  

                        </includes>  

                        <filtering>true</filtering>  

                    </resource>  

                </resources>  

            </configuration>  

        </execution>  

    </executions>  

</plugin>  

<!-- 打jar包时需要把配置文件给排除在外 -->  

<plugin>  

    <groupId>org.apache.maven.plugins</groupId>  

    <artifactId>maven-jar-plugin</artifactId>  

    <executions>  

        <execution>  

            <phase>package</phase>  

            <goals>  

                <goal>jar</goal>  

            </goals>  

            <configuration>  

                <classifier>lib</classifier>  

                <excludes>  

                    <exclude>s.xml</exclude>  

                </excludes>  

            </configuration>  

        </execution>  

    </executions>  

</plugin> 

  </plugins>

  

  <pluginManagement>

<plugins>

    <plugin>

        <groupId>org.eclipse.m2e</groupId>

        <artifactId>lifecycle-mapping</artifactId>

        <version>1.0.0</version>

        <configuration>




转载于:https://my.oschina.net/mutianya/blog/189295

这篇关于maven配置初步之plugs包管理(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_33940102/article/details/91961577
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/209630

相关文章

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de