Maven中Pom文件打包配置build

OpenCV透视变换实战:5分钟搞定歪斜证件照矫正(附完整代码) 本文详细介绍了如何使用OpenCV的透视变换技术快速矫正歪斜证件照,包含完整的Python代码实现。通过特征检测、坐标计算和矩阵变换三个核心步骤,5分钟内即可将手机拍摄的歪斜图像自动矫正为专业级证件照,大幅提升图像处理效率。 阅读详情

摘自:https://my.oschina.net/simpleton/blog/607776

方法一
<build>
    <finalName>###架包名###</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <resources>
        <!-- 控制资源文件的拷贝 -->
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>${project.build.directory}</targetPath>
            <!-- excludes和includes二选一使用即可 -->
            <!-- 不包含的文件,支持通配符 -->
            <excludes>
                <exclude>*.txt</exclude>
            </excludes>
            <!-- 包含的文件,支持通配符 -->
            <includes>
                <include>*.properties</include>
            </includes>
        </resource>
    </resources>
    <plugins>
        <!-- 设置源文件编码方式 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <source>1.7</source>
                <target>1.7</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.eya.main.Hello</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <!-- 拷贝依赖的jar包到lib目录 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>
                            ${project.build.directory}/lib
                        </outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <!-- 解决资源文件的编码问题 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <!-- 打包source文件为jar文件(源码,可选) -->
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <attach>true</attach>
                <encoding>UTF-8</encoding>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<profiles>
        <profile>
            <id>A</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>B</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>dev</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>
方法二:
<build>
        <resources>
            <resource>
                <targetPath>${project.build.directory}/classes</targetPath>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.test.testguava.app.App</mainClass>
                                </transformer>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>applicationContext.xml</resource>
                                </transformer>
                            </transformers>
                            <shadedArtifactAttached>true</shadedArtifactAttached>
                            <shadedClassifierName>executable</shadedClassifierName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>A</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>B</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>dev</id>
            <build>
                <filters>
                    <filter>路径/application-环境名.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>

方法三

    <profiles>
        <profile>
            <id>test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <build.profile.id>test</build.profile.id>
            </properties>
        </profile>
        <profile>
            <id>develop</id>
            <properties>
                <build.profile.id>develop</build.profile.id>
            </properties>
        </profile>
        <profile>
            <id>formal</id>
            <properties>
                <build.profile.id>formal</build.profile.id>
            </properties>
        </profile>
    </profiles>

    <build>
        <filters>
            <filter>src/app-${build.profile.id}.properties</filter>
        </filters>
        <sourceDirectory>src/main/java</sourceDirectory>
        <!-- 定义打包资源文件-->
        <resources>
            <resource>
                <filtering>true</filtering>
                <!--加上filter会过滤该资源路径中的文件-->
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <createDependencyReducedPom>true</createDependencyReducedPom>
                    <filters>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.***.Main</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>
[ 人力资源面试篇 ] HR 面试题分析详解大集合,看完直怼面试官(二) 那么在这个系列的文章中,我们聊到 HR 面谈什么?并且总结了五十个常见的人力资源面试题,在这里分享给大家。 阅读详情

相关推荐

【AI智能体】图像处理-生成营销 Banner 图

生成营销 Banner 图是一款用于制作营销图片的智能体,它可以根据指定的营销活动内容,快速生成活动 Banner 图片,降低活动运营成本、提高制图效率。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1175

项目中 pom文件 使用总结

目录 dependencies与dependencyManagement的区别 1、DepencyManagement应用场景 plugins和pluginManagement的区别 快照版本和release版本区别 在pom.xml中使用distributionManagement将项目打包上传到nexus私服 多环境配置:profiles节点 1)在pom文件中配置如下...

小白鼠丶 1878

基于ZYNQ7020芯片(黑金开发板AX7020)之AXI-FULL DDR的PL与PS交互操作。

在该工程中我们使用了PS端的串口接收功能,PS端串口接收和发送分别有一个64字节的FIFO,但是因为串口接收阈值设置为16,所以固定接收16个字节数据后才会发生中断。此测试工程得到以前知识的总结和各大网友的支持,只希望可以为学习的你更进一步,大家一起学习才是真的开心。加油,国产芯片之路。

landyjzlai的博客 3190

史上最全的maven的pom.xml文件详解

&lt;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/mav...

Realize My Dream 800

一文了解ECU软件刷写的2种方法:Bootloader刷写和调试器刷写

分为刷写前、刷写中和刷写后三个阶段,如下示意:下面我们来详细了解一下Bootloader收到外部请求后开始刷写的三个阶段1)刷写前进行刷写的准备,一是确保刷写阶段总线通信的稳定性,二是避免刷写阶段出现非预期的故障,三是读取车辆数据供刷写前的一些检查等,如下所示:首先进行会话控制,通过功能寻址方式进入扩展会话模式,为后面的信息访问及其他指令做准备;然后检查刷写的前提条件,通过物理寻址方式发送历程控制请求。比如车确实处于静止状态,供电电压稳定等条件下才允许刷写;

menghuyouyou的博客 5782

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 491

maven内置变量对应的目录

4. ${project.build.outputDirectory}:项目主代码编译输出目录,默认为target/classes/.9.${project.build.finalName}:项目打包输出文件的名称,默认为${project.artifactId}${project.version}.2. ${project.build.testSourceDirectory}: 项目的测试源码目录,默认为/src/test/java/6. ${project.groupId}:项目的groupId.

健康平安的活着的专栏 684

什么是无人机电源管理模块?电源管理模块有什么用处?

我来描述一下我的问题情景,电源管理模块的定义是,这里给出这个PX4官方对于电源管理模块的一些介绍,补充一下锂电池的放电原理大家就可以更好理解为什么需要电源管理模块

HRWVY0725的博客 2272

MAVEN打包这一篇就够了

maven打包。配置文件外置。本地获取不到配置文件。配置文件冲突。编译执行目录结构。打包目录,打包方式,整体打包!

romantic_jie的博客 9662

Qt Creator 下载和安装

在线安装程序是一个小型的安装程序,它将在您的计算机上下载和安装 Qt Creator。离线安装程序是一个较大的安装包,您可以将其保存在本地,并在没有网络连接的情况下安装 Qt Creator。在 Qt 官方网站上,您可以找到 Qt Creator 的下载页面。Qt Creator 是一款跨平台的集成开发环境(IDE),用于开发基于 Qt 框架的应用程序。在这一步中,您可以选择是否安装 Qt Creator 的附加组件。一旦您完成了组件的选择,安装程序将开始将 Qt Creator 安装到您的计算机上。

HackLogic的博客 6820

基于R-CNN深度学习的石头剪刀布手势识别系统:数据集、模型和UI界面的完整实现

本项目的目标是开发一个基于R-CNN深度学习模型的手势识别系统,能够识别石头、剪刀、布三种手势,并通过UI界面让用户能够进行交互。数据集准备与标注:收集包含石头剪刀布手势的图像,并对其进行标注。深度学习模型构建与训练:采用R-CNN模型进行手势的识别和定位。UI界面设计:设计一个简洁的界面,用户可以上传手势图像并进行识别。R-CNN(Region Convolutional Neural Networks)是一个典型的目标检测模型。生成候选区域。

YOLO 876

Maven的pom.xml配置文件详解

Maven的pom.xml配置文件详解 Maven简述 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache ...

simple_237615452的博客 540

大模型LangChain面试题及参考答案(上)

明确的输入输出类型:函数参数需包含类型注解,返回值需定义清晰的数据结构(如JSON格式),便于LLM理解参数含义和调用方式。工具描述:通过文档字符串或独立的描述对象(如Tool类)说明函数的功能、参数用途及调用场景,供LLM判断是否需要调用。示例:定义一个计算两个数之和的工具函数@tool"""计算两个整数的和。参数:- a:第一个整数- b:第二个整数调用场景:当用户需要进行数值加法计算时使用。"""除了内置的。

大模型大数据攻城狮的专栏 1139

使用maven打包,pom.xml文件中的build配置(与第三方依赖jar包分离)

一、先了解下几个maven的内置变量 ${basedir} 项目根目录 ${project.build.directory} 构建目录,缺省为target ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes project.build.finalName产出物名称,缺省为{project.build.finalName} 产出物...

weixin_44758913的博客 2400

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

maven 的 pom 文件与打包详解

setting.xml 是全局级别的配置文件,主要用于配置 maven 的运行环境等一系列通用的属性。 pom.xml 是项目级别的配置文件 。 pom 作为项目对象模型。通过 xml 表示 maven 项目,使用 pom.xml 来实现。主要描述了:项目的 maven 坐标、依赖关系、开发者需要遵循的规则、缺陷管理系统、组织和 licenses、项目的 url、项目的依赖性,以及其他所有的项目相关因素。 一、基础配置 <project xmlns="http://maven.apache.org/P

IT__learning的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

maven pom.xml 的 build配置、插件plugin的介绍

maven是什么?用通俗的话来将,maven能帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目。使用maven构建的项目均可以直接使用maven build完成项目的编译测试打包,无需额外配置。

黄彪博客 3004

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA 使用maven打包的时候,resoures下的xml文件和properties文件未加载进去,提示配置文件找不到的问题

解决方案: 在pom文件中build标签内导入此代码即可,这样打包的时候就会将所有配置文件打包到项目中 <resources> <resource> <directory>src/main/resoures/</directory> <filter...

qq_37950333的博客 1262

Maven之POM文件build标签详解

Maven中POM文件build标签详解

scorpio的博客 1万+

关于gradle与maven对springboot项目的配置文件加载异同

先说下缘由吧,由于年后跳槽换了家公司,构建项目工具也有maven改成gradle了,所以在搭建框架进行开发打包过程中难免会遇到一些意想不到的问题。 本文简述下打包扫描加载配置文件的异同吧。 maven打包加载配置文件的配置是在pom文件中配置: 1 <resources> 2 <resource> 3 ...

weixin_33973600的博客 1239

androidstudio将项目打包成jar包_java和groovy混编的Maven项目如何用intellij打包执行jar包...

由于自己之前使用的是Gradle构建工具,最近切到Maven有些不太适应,特别是在java和groovy混编时,在打包jar包的过程中出现问题,困扰了很久,在网上查了一些资料,都是引入build插件即可,但是插件有的是eclipse的插件,进过分析和摸索终于得到了一个再intellij使用Maven打包混编项目的jar包的方法。首先把项目的java文件夹改成groovy,如图:然后就是配置pom文...

weixin_39932455的博客 193

使用maven打包时mapper.xml文件没有被打到target文件中去的问题

使用maven打包resources问题

qq_46129756的博客 1647

解决SSM项目启动时无法加载resource下的配置文件的问题

我遇到的此类问题的原因因为Maven在打包之后的target目录下没有找到对应的配置文件,解决方案为在对应的项目的pom文件下的build节点下加入以下内容 <build> <resources> <resource> <directory>src/main/resource</dire...

行无所至,学无所尽。 1789

idea—maven项目pom的build打包部分

<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </res...

大树1993 1491

MAVEN 工程打包resources目录外的更多资源文件

首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。 有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一...

anyi5187的博客 256

maven配置多环境部署,不同环境部署问题(踩过的坑)

配置占位符生效(假如你是通过Maven插件来进行动态切换的,你需要添加如下内容, 否则跳过。2.application.yml文件中只配置这3行。问题:打包后发现target中的变量并没有打入。springboot项目中配置多个环境变量。3.maven窗口选择对应环境打包即可。需要在pom.xml配置build。剩下的环境依次写正常的配置。

dawangpeng2008的专栏 477

运行打包的jar报错 没有主类清单

解决办法在pom文件中增加build配置 注意:mainClass这里的路径要选择要打包的类,Ctrl+点击能跳转过去就行 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId&g...

zwahut的专栏 389
上一篇: 向yml文件传递参数,ansible-playbook命令
下一篇: ubuntu中为软件制作桌面启动项
angle_sun
博客等级 码龄12年 23粉丝 45原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值