背景
- 长时间未构建项目,本次引入一个模块langchain4j模块声明packing为pom 导致启动的时候修改application.properties怎么都不生效?
尝试解决方法
- 修改了build的 引入的resource强行指定目录到打包文件中。还是不行。
- 最后对比其他工程发现此子模块声明packing为pom 最后修改成jar resource下的目录打包成功了。
packing 不同的声明有什么区别
- jar VS pom
- 用途
1. JAR: 打包为 JAR 文件,用于运行或作为库;
2. POM: 作为父模块,用于管理多模块项目;
- 生成文件
- .jar 文件
- 不生成任何文件
- 适用场景
- 子模块、独立服务、库。
- 多模块项目的根模块。
- 是否包含代码和资源
- 包含代码和资源文件。
- 不包含代码和资源文件。
- 模块聚合
- 不支持
- 支持通过 聚合子模块。
- 依赖管理
- 单独定义依赖。
- 可通过 统一管理
- 插件管理
- 单独定义插件。
- 可通过 统一管理
Tip
1. 父模块的 <packaging> 必须是 pom
2. 子模块继承父模块的配置。
3. 避免循环依赖。
总结
1. 通过以上对比分析 原因就是因为生成的是pom导致 package的时候不包含代码和资源文件。导致一直无法生效。
2. 温故知新 低级错误避免 学东西还是不扎实。 浪费时间 耽误事