• Maven pom.xml <packaging>pom</packaging> 引发的问题



    Maven pom.xml pom 引发的问题

    • 有一个项目在别人那运行的非常好;
    • 有一天, 我开开心心的把这个项目作为一个新 module 导入到了当前的工程中;
    • 然后启动项目, 发现启动端口和我指定的没有任何关联;
    • 我以为出了啥奇怪问题, 于是我重启了一下; 然而, 并没有任何改变;
    • 难道是默认的 profile 没生效, 我在idea Program arguments 里指定了 --spring.profiles.actove=dev;
    • 日志输出显示当前激活的profile 是dev了, 但是端口依然是默认的8080, 和我指定的没有任何关联;
    • 再次我在 VM options 指定 -Dspring.profiles.actove=dev, 然而端口依然是默认的8080, 和我指定的没有任何关联;
    • 我注意到 target 下没有我的配置文件:

    在这里插入图片描述

    • 下意识里我想到了pom.xml 里的一些配置:
    <build>
    	
    	...
    	<resources>
    		<resource>
    			<directory>src/main/resourcesdirectory>
    			<includes>
    				<include>*.ymlinclude>
    				<include>**/*.ymlinclude>
    			includes>
    			
    		resource>
    	resources>
    	...
    build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 这些配置加上后, maven 刷新, 重启项目, 问题依旧存在;
    • 我注意到右侧, Maven Project -> Plugins 里边少了 resources 这个插件正是往编译目录下复制配置文件的, 没有它, 上边的配置加了=没加;

    在这里插入图片描述

    • 所以我以为是项目导入的问题;
    • 于是我把 idea 中的这个Module 删了, .iml 文件也删了;
    • 重新导入; idea 检测到了spring 工程, 我以为要好了, 启动之后, 问题依旧存在;
    • 我慌了, 还有点暴躁, 嗯…
    • 在idea 中我进行了反复刷新, reimport, invalid-cache-and-restart …; 并没有任何作用;
    • 我把这个项目的pom.xml 和 正常有 resources 插件的项目的pom.xml 文件对比了一下: 发现这个项目packing 写的赫然是:pom;
    • 我把它(pom)删除了, 刷新, resources 立马出来了;
    • 启动项目 very-good;
    • 我去那个人那里看了看, 他的项目外面还包着东西, 行吧. 我也看不懂这其中的玄机.
    • 我只能说: Maven 果然博大精深.
  • 相关阅读:
    MySQL update 是锁行还是锁表?
    JVM【类加载与GC垃圾回收机制】
    ROG STRIX GS-AX5400 使用笔记
    Windows下如何编译FFmpeg
    .rancher-pipeline.yml
    运动检测辅助系统
    【力扣刷题】Day11——栈和队列专题
    Grafana + Prometheus监控篇之Windows监控Linux服务器资源
    C# Microsoft.Office.Interop.Word设置Word页脚之添加当前页数
    10.19作业
  • 原文地址:https://blog.csdn.net/wwq921220/article/details/126333806