maven多模块工程打包部署

【分享】获取微信通讯录python代码形式实现 微信号”, “昵称”, “地区”, “备注”, “标签”, “签名”, “来源”5. 找到最后一个空格所在的位置(后一个就是真正的联系人了)当前微信号与上一个相同的时候,说明到底部了,可以跳出循环。3. 滚动鼠标到最顶部(防止已经滚动了一部分了)7.记录下上一个联系人的微信号。7. 无限循环按键盘下箭头。获取详情中的以下元素内容。6. 点击第一个联系人。4. 获取联系人列表。 阅读详情

     一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,如果在部署服务器上需要进行相关配置修改会比较麻烦。因此研究了下用maven进行合并打包的方法:



1.确保dao pom.xml中有以下配置

<resources>
    <resource>
        <directory>${basedir}/src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
    </resource>
    <resource>
        <directory>${basedir}/src/main/resources</directory>
    </resource>
</resources>


2.在dao目录下执行:mvn clean install -Dmaven.test.skip=true,以生成jar包


3.在web工程pom.xml添加以下插件配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>unpack</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>com.test</groupId>
                        <artifactId>dao</artifactId>
                        <version>1.0</version>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <outputDirectory>./target/classes</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

上述插件表示将dao-1.0.jar解压至web工程的target/classes目录中(即工程编译源码目录)


4.运行web工程,即可发现dao相关配置文件及源码已合并过来。(注意,此时在默认的war包的lib中还会包含dao的jar)



 若还需要对war工程进行jar打包部署,则在web工程pom.xml中添加jar打包插件即可

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
        <execution>
            <id>1</id>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
            <configuration>
                <classesDirectory>./target/classes</classesDirectory>
                <excludes>
                    <exclude>*.properties</exclude>
                    <exclude>*.xml</exclude>
                </excludes>
                <finalName>web</finalName>
                <outputDirectory>./target/WEB-INF/lib</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
        加入后,在web下重新执行mvn install命令,会在target/WEB-INF/lib目录下生成web.jar文件,jar中不包含properties和xml文件(去掉excludes,默认情况下会将所有文件进行打包)。

       在上面情况下并没有将配置文件打包,因此需要将配置文件进行拷贝:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.4.3</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <encoding>UTF-8</encoding>
                <outputDirectory>./target/WEB-INF/classes</outputDirectory>
                <resources>
                    <resource>
                        <directory>./target/classes</directory>
                        <includes>
                            <include>*.properties</include>
                        </includes>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
        <!-- 拷贝web.xml文件-->
        <execution>
            <id>copy-web-xml</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <encoding>UTF-8</encoding>
                <outputDirectory>./target/WEB-INF</outputDirectory>
                <resources>
                    <resource>
                        <directory>./src/main/webapp/WEB-INF</directory>
                        <includes>
                            <include>*.xml</include>
                        </includes>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
      通过上面配置方式,则可将配置文件拷贝至target/WEB-INF/classes目录下


      通过上述配置,对于web工程部署,还缺少所依赖的其他jar包,因此需要将jar包拷贝过来(同时去除依赖的dao):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>install</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>./target/WEB-INF/lib</outputDirectory>
                <excludeGroupIds>com.test</excludeGroupIds>
            </configuration>
        </execution>
    </executions>
</plugin>


通过以上步骤可在target目录看到web常规工程部署结构:



嵌入式面经(2)——央企篇 前文得知我只投央企,不投国企,有面试的央企大致有三类:感兴趣的同学可以和我私聊军工央企相关(航空航天,兵器兵工)制造央企相关(三桶油,装备制造)金融运维相关(信通集团,国有银行)接下来我将对我有的面试中询问的面经进行总结。 阅读详情

相关推荐

Cisco思科 电子科技大学计算机网络 SRWE 期末技能考试 (PTSA)

电子科技大学2024春_SRWE_计算机网络系统 SRWE 期末技能考试 (PTSA)

2301_76745065的博客 5094

maven工程多模块、项目打包问题

(1)找到主类,主类就是你要运行那个作为启动类就是主类,就在主类的pom里加上如下配置(2)这个主类你依赖了其它模块那么子模块的,这个medica-auth模块的pom的build啥也不加,因为spring-boot-maven-plugin的原理就是打成可运行jar包,可运行jar包就是如图这样的,带BOOT-INF。注意这种文件要是你的子模块也打成了BOOT,那么主类启动是扫描不到的,因为springboot是扫描的com.什么什么的,和你配置的包扫描是冲突的。

qq_44795091的博客 5583

利用ArcGIS的模型构建器实现批量投影栅格和批量克里金插值

博主要批量投影几百个栅格,但是ArcGIS中的投影栅格的批处理工具需要手动一条条设置参数,还是麻烦,因此学习了使用模型构建器(ModelBuilder)来批量投影栅格,可以导入需投影栅格的文件夹,然后迭代投影,并按栅格原名逐个输出到指定目录。 1.在工具箱里构建模型 在arctool box里右键点击空白处,选择【添加工具箱】,点击ArcGIS默认工作目录的工具箱进行添加,然后Toolbox就会被添加到ArcToolbox页面,右键点击Toolbox,选择“新建”-“模型” 2.编写模型 (1).

qq_36958801的博客 1万+

【07】Maven项目多环境打包配置

(1)Web项目使用Maven进行多模块划分开发之后,面临一个问题,即如何加载不同环境的配置文件打包发布到不同的环境中?(2)不同的环境有开发环境、测试环境、线上生产环境等。(3)本文将围绕这一主题给出具体的实现方案。

青风百草 2343

Zabbix Trigger actions访问出现500

本篇博客详细介绍了Zabbix访问'Trigger actions'出现的错误状况,访问界面出现500,并提供了解决方案。

格子的博客 562

评价模型——层次分析法(AHP)与熵权法(EWM)

层次分析法是定性与定量结合的多准则决策、评价方法。将决策的有关元素分解成目标层、准则层和方案层,并通过人们的判断对决策方案的优劣进行排序,在此基础上进行定性和定量分析。它把人的思维过程层次化、数量化,并用数学为分析、决策、评价、预报和控制提供定量的依据。

好好学习 天天向上 2万+

maven多个子项目如何打包?

1. 前提: maven对应多个子项目, 每个子项目都是一个单独运行的jar包 2. 项目结构: 五个 jar包; 一个common资源包 3. 思路: common 作为这五个jar的外部资源 五个jar单独导报 4: 配置 父级pom配置: 不可以加这个! 不可以加! 不可以加! <build> <plugins> <plugin> <!-- 父级....

chhnang2016的博客 1万+

5分钟上手,Cursor + IntelliJ IDEA 双端开发:高效协同的终极方案

最好的工具,是让你忘记工具的存在。通过AI 的创造力(Cursor)IDE 的工程力(IDEA)无缝的上下文流转(插件协同)从此,不再手忙脚乱切窗口,不再迷失在文件树中。只需一个快捷键,专注编码本身。装上这两个插件后,日常开发体验虽然没有天翻地覆的变化, 但至少摸鱼的几个小时时间是有的!

weixin_44058951的博客 2197

SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试

工程结构:父工程father子模块 dao(用于持久化数据跟数据库交互)子模块 entity(实体类)子模块 service(处理业务逻辑)子模块 web(页面交互接收、传递数据,唯一有启动类的模块)关系:web依赖 service、dao、entity service依赖 dao、entity dao依赖 entity entity谁都不依赖,独立的接下来创建子模块 工程上右键 → new → Module 选择Spring Initaializr 下一步。

qq_53985858的博客 2590

含分布式光伏的IEEE 33节点配电网电压越限仿真分析

摘要 本文针对分布式光伏接入配电网引发的电压越限问题,基于IEEE 33节点系统开展仿真研究。首先分析了光伏出力的随机性和波动性特性,采用Beta分布和马尔可夫链方法建立光伏出力模型;其次在MATLAB/Simulink平台搭建完整测试系统,包含光伏模型、配电网线路模型和控制模块;最后通过多场景仿真定量分析了不同光伏渗透率和接入位置对节点电压的影响。结果表明:光伏渗透率提高会显著增加电压越限风险,特别是线路末端节点;光伏接入位置对电压分布具有决定性影响,馈线末端接入更易引发电压越限。研究为含高比例光伏的配电

huanghm88的专栏 319

2026华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2025华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

算法大师! 5万+

java 基于maven多模块合并打包部署

记录基于maven构建的spring boot多模块项目,整合打包到一个目录的xml配置项

nisemono_ct的博客 3543

【纯实战】C#基于TCP/IP实现三菱PLC MC协议完整通信(含完整源码+通信原理+避坑指南)

MC协议是三菱电机为旗下MELSEC系列PLC量身定制的以太网专用通信协议,本质是一套基于TCP/IP的应用层协议规范,专门用于实现上位机(PC/工控机)与PLC之间的双向数据交互,支持对PLC的软元件(X/Y/M/D/W/T/C等)进行读、写、批量读写等核心操作,同时支持PLC状态查询、程序启停等控制指令。重要:三菱PLC的MC协议默认基于TCP 4999端口通信,部分新版本FX5U/Q系列也支持TCP 5000端口,核心通信逻辑一致。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 891

maven多模块工程打包部署的方法步骤

本篇文章主要介绍了maven多模块工程打包部署的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,如果在部署服务器上需要进行相关配置修改会比较麻烦。因此研究了下用maven进行合并打包的方法: 1.确保da.

lisheng19870305的专栏 7112

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【maven多模块工程打包部署】

【maven多模块工程打包部署】 一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。 在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,dao里引用的配置文件也都在自己的jar文件里, 如果部署服务器时,web层会引用不到dao里的配置文件。因此研究了下用maven进行合并打包的方法: [](javascript:void(0)???? project

dieqiansuo的博客 1213

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java如何打包工程_maven多模块工程打包部署的方法步骤

一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,如果在部署服务器上需要进行相关配置修改会比较麻烦。因此研究了下用maven进行合并打包的方法:1.确保dao pom.xml中有以下配置${ba...

weixin_32277761的博客 1566

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

maven 分批打包_maven多模块工程打包部署

一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,dao里引用的配置文件也都在自己的jar文件里,如果部署服务器时,web层会引用不到dao里的配置文件。因此研究了下用maven进行合并打包的方...

weixin_39682673的博客 284

eclipse打包war_【maven多模块工程打包部署】

一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,dao里引用的配置文件也都在自己的jar文件里,如果部署服务器时,web层会引用不到dao里的配置文件。因此研究了下用maven进行合...

weixin_30989583的博客 389

【经验贴】全网最详细——基于Maven的多模块工程打包部署到云服务器(SSM框架,Springboot绕道)

作为一名资深(fu xiu)的程序猿来说,一直不想向IDEA低头可能是我对MyEclipse最大的尊重。最近利用SSM框架搭建了一个项目后台。但是由于开发人员并不能处于同一个局域网中,于是将后台需要部署到公网服务器中。但是与普通的javaweb项目不同的是该项目是一个基于maven的多模块工程。其实刚开始笔者一直在担心不知如何部署,在网上搜到的资料也是零星半点。通过网上的一些思路,加上自己半天的摸索,终于将后台成功部署到服务器上。下面就具体讲解一下如何部署maven多模块工程到公网服务器上。PS:笔者服务器

qq_37036915的博客 2350

SpringBoot3多模块工程实战:从Maven配置到打包部署

在Java后端开发中,Maven作为主流构建工具,通过清晰的模块划分与依赖管理,能够有效解决单体应用日益膨胀带来的编译、测试与协作难题。SpringBoot3基于JDK17,为多模块工程提供了完善的自动配置与打包支持。理解父POM与dependencyManagement机制,可以统一版本管控,避免依赖冲突;合理划分common、system、web等模块,则能提升代码可维护性与构建效率。无论是团队协作还是独立部署,多模块结构都能让项目在微服务化或模块化演进中更从容。本文从环境配置、工程搭建到插件使用与常见

weixin_32451529的博客 113

Spring Boot 多模块项目实践(附打包方法)

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析...

weixin_44421461的博客 574

Spring Boot 多模块项目实践(附打包方法) 侵删

序言: 比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。 接下来,本文将重点阐述SpringBoot在Maven环境的多模块构建过程。 本项目传送门: https://github.com/yizhiwazi/springboot-socks/tree/master/springboot-integration 一、创建聚合父工程 1.首先使用 S

心神沫沫的收藏 170

SpringBoot 多模块项目实践(附打包方法)

来源 序言: 比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。 接下来,本文将重点阐述SpringBoot在Maven环境的多模块构建过程。 本项目传送门: https://github.com/yizhiwazi/springboot-so...

qq_33471815的博客 200

SpringBoot多模块项目实践(Multi-Module)

序言: 比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。接下来,本文将重点阐述SpringBoot在Maven环境的多模块构建过程。本项目传送门:SpringBoot-Integration 一、创建聚合父工程 1.首先使用Spri...

u011277123的博客 1062

maven 打包父工程_SpringBoot 多模块项目实践(附打包方法)

一、创建聚合父工程1.首先使用 Spring Initializr 来快速创建好一个Maven工程。然后删除无关的文件,只需保留pom.xml 文件。然后在 pom.xml 里面声明该父工程包含的子模块。(其它信息就不逐一讲述了,诸如继承SpringBoot官方父工程以及统一依赖管理 请查看下面的注释说明)xsi:schemaLocation="http://maven.apache.org/PO...

weixin_39553458的博客 2487

idea+springboot+mybatis plus+maven多模块搭建,运行,打包详细流程(并说明其中的坑)

背景 由于springboot的便捷,目前基本上都是使用springboot进行开发,那遇到比较大型的项目又会需要使用maven的多模块功能,今天就来讲下这两者怎么结合使用 1. 项目结构(源码我会放在github上,后面会给出地址) 2.搭建父工程 点击idea上的file->new->project ,然后选择maven项目,除了选下jdk是否正确,其他都不用选,直接n...

weixin_38312502的博客 3217
上一篇: 具有buffer功能的RandomAccessFile
下一篇: JDK7文件处理
xb_smart
博客等级 码龄16年 124粉丝 74原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值