java project package tool / apache maven / ant / maven / gradle
s
- java project 下,多模块写代码,app模块如何引用common模块下的 resources文件如config.yml
1、在common
模块中创建resources
目录: 确保config.yml
文件位于common/src/main/resources
目录下。
common └── src └── main └── resources └── config.yml
2、确保common
模块的资源文件被正确打包: 在common
模块的 pom.xml
文件中,确保资源文件被正确地打包到 JAR 文件中。你可以使用如下 Maven 插件配置:
<build> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
这样配置会确保资源文件被包含在common
模块的 JAR 文件中。
3、在app
模块中引用common
模块: 在app
模块的 pom.xml
文件中添加对common
模块的依赖。
<dependencies> <dependency> <groupId>your.groupId</groupId> <artifactId>common</artifactId> <version>your.version</version> </dependency> </dependencies>
4、 在app
模块中使用common
模块的资源文件: 在app
模块的代码中,你可以通过类加载器来访问common
模块的资源文件。
// 在 app 模块的代码中 InputStream inputStream = getClass().getClassLoader().getResourceAsStream("config.yml"); // 然后可以使用 inputStream 加载配置文件
或者,如果你使用 Spring Boot,你可以使用 @PropertySource
注解来加载配置文件:
@PropertySource("classpath:config.yml")
确保在进行这些操作时,Maven 或 Gradle 构建配置正确,以便资源文件正确地包含在 JAR 文件中。这样,app
模块就可以访问并使用common
模块中的config.yml
文件了。
https://repo.maven.apache.org/maven2
C:\Users\Lindows>mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\Lindows\dev\apache-maven-3.6.3\bin\.. Java version: 1.8.0_212-3-redhat, vendor: Oracle Corporation, runtime: D:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.212-3\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
使用IntelliJ IDEA 配置Maven
https://www.cnblogs.com/sigm/p/6035155.html
Nexus Repository Manager OSS 2.14.5-02
http://maven.cns*****.com/#welcome
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
使用Ant,Maven构建Eclipse RCP Product
http://eclipsercpforum.group.iteye.com/group/wiki/627
通常我们打包Product的时候,一般都是通过Product的export操作来进行的,但这样的做法,则限制了Continous Integration的自动化执行,那么,应该如何编写自动化构建脚本呢?
、、、
1、maven打包成可执行jar包 在pom.xml中添加
<build> <plugins> ... <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.xahl.conf.App</mainClass> <!-- 含main方法的类 --> </manifest> </archive> </configuration> </plugin> ... </plugins> </build>
执行命令mvn assembly:assembly -Dmaven.test.skip=true(跳过测试)
则可以打包成可执行jar,并且可以把所有的依赖包都打进去
2、package -Dmaven.test.skip=true -e 打普通jar
3配置sts工具maven命令 右键 Run as -->run Comfiguration --> Maven build --> name : package Goals:-Dmaven.test.skip=true -e --> run
4 打client jar call mvn install -Dmaven.test.skip=true
end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义