MAVEN打包包含其他模块配置文件

 

构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

第一步:

src/main/java和src/test/java(代码) 这两个目录中的所有*.java文件会分别在comiple和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中

src/main/resouces和src/test/resources(配置)
这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

第二步:

生成工程文件目录
target/classes 里面的内容会被组织成相关的工程结构,生成一个工程文件夹

第三步:

把工程文件加压缩打包成jar或者war文件

最终target的目录结构如下:

 🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌---🐌

一般情况下整个打包顺序都是按照上面三个步骤完成的。所以这就给我们提供了很多操作性

如果想在打包的时候加入配置文件或者其他文件,我们可以在打包步骤(第三步)执行之前将文件给准备好。

下边就通过配置将外部系统的配置文件打包到工程文件夹里。需要使用配置资源处理插件

(这里目的就是第一步将需要的配置放到classes下,我这里具体就是打包的时候将依赖的my-one工程的配置文件applicationContext.xml 复制到本工程的 classes 下)

<build>
	<plugins>
		<plugin>
			<artifactId>maven-resources-plugin</artifactId>
			<version>2.5</version>
			<executions>
				<execution>
					<id>copy-properties</id>
					<phase>process-sources</phase>
					<goals>
						<goal>copy-resources</goal>
					</goals>
					<configuration>
						<!-- 这里表示资源复制的目标地址 -->
						<!-- ${basedir} 项目的根目录,这个值可以缺省 -->
						<outputDirectory>${basedir}/target/classes</outputDirectory>
						<resources>
							<resource>
								<!-- 可以使用相对路径或者绝对路径-->
								<!-- my-one 和本工程是在同一个目录下 -->
								<directory>${basedir}\..\my-one\target\classes</directory>
								<includes>
									<!-- 需要复制的文件 -->
									<include>applicationContext.xml</include>
								</includes>
							</resource>
						</resources>
					</configuration>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Maven是一个非常常用的构建工具,在使用它构建多模块工程时,可以减少一些重复的工作,提高工程构建的效率。多模块工程即将一个大型工程分成多个模块,每个模块有自己的代码、配置文件和构建规则,模块可以独立构建,也可以重新组合成一个整体再进行构建。有了Maven这个工具,我们可以更加轻松地进行工程构建及部署。下面是Maven模块工程打包部署的一些要点: 1. 父工程:每个模块将会有一个父工程。父工程管理和统一构建所有子模块,同时父工程中也包含了一些工具依赖,如插件和配置等。 2. 子模块:每个子模块可以单独构建成一个独立的jar、war或者其他类型的文件,但是它们都是在父工程中定义的。每个子模块应该有独立的代码库,独立的测试用例和独立的依赖库。 3. 依赖管理:每个模块都有自己的依赖库,同时父工程也可以统一管理所有子模块的依赖。 4. 打包部署:对于一个多模块工程,最终会有一个多个模块组成的大型部署包。我们需要定义如何将每个子模块打包文件合并到最终的大包中。 总的来说,Maven提供了丰富的构建工具和支持,使得多模块工程打包部署变得更加简单和高效。在实际应用中,我们可以利用Maven的依赖管理,提高组件的复用率,也可以利用多模块工程的优势,让我们的代码更加清晰易懂,更容易维护和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cy谭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值