Maven pom.xml pom 引发的问题
- 有一个项目在别人那运行的非常好;
- 有一天, 我开开心心的把这个项目作为一个新 module 导入到了当前的工程中;
- 然后启动项目, 发现启动端口和我指定的没有任何关联;
- 我以为出了啥奇怪问题, 于是我重启了一下; 然而, 并没有任何改变;
- 难道是默认的 profile 没生效, 我在idea
Program arguments
里指定了 --spring.profiles.actove=dev
; - 日志输出显示当前激活的profile 是dev了, 但是端口依然是默认的8080, 和我指定的没有任何关联;
- 再次我在
VM options
指定 -Dspring.profiles.actove=dev
, 然而端口依然是默认的8080, 和我指定的没有任何关联; - 我注意到
target
下没有我的配置文件:
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.yml</include>
<include>**/*.yml</include>
</includes>
</resource>
</resources>
...
</build>
- 这些配置加上后, maven 刷新, 重启项目, 问题依旧存在;
- 我注意到右侧,
Maven Project
-> Plugins
里边少了 resources
这个插件正是往编译目录下复制配置文件的, 没有它, 上边的配置加了=没加;
- 所以我以为是项目导入的问题;
- 于是我把 idea 中的这个Module 删了, .iml 文件也删了;
- 重新导入; idea 检测到了spring 工程, 我以为要好了, 启动之后, 问题依旧存在;
- 我慌了, 还有点暴躁, 嗯…
- 在idea 中我进行了反复刷新, reimport, invalid-cache-and-restart …; 并没有任何作用;
- 我把这个项目的
pom.xml
和 正常有 resources
插件的项目的pom.xml
文件对比了一下: 发现这个项目packing 写的赫然是:<packaging>pom</packaging>
; - 我把它(
<packaging>pom</packaging>
)删除了, 刷新, resources
立马出来了; - 启动项目 very-good;
- 我去那个人那里看了看, 他的项目外面还包着东西, 行吧. 我也看不懂这其中的玄机.
- 我只能说: Maven 果然博大精深.