
这是哪一块配置的原因?导致我现在改个模板文件都要自己复制到 target 里,没办法好好工作了
1 passerbytiny 2019-09-21 09:08:43 +08:00 请先了解“Maven target folder”、“maven clean”、“maven package”,最好再额外了解小“classes”、“dest”目录。 |
2 micean OP @passerbytiny 不是 maven 本身的事情 pom 都没变过 把当前分支并到其他分支,再切换回当前分支就这样了,怀疑是 idea 的原因,但是 setting->compile 那里点了几下没啥用 |
3 Solace202 2019-09-21 09:21:32 +08:00 via Android target 本身就是 mave 编译后放置编译后文件的文件夹,class 文件,war 包啥的,每次重新编译肯定会覆盖之前的啊 |
4 Solace202 2019-09-21 09:25:01 +08:00 via Android 资源文件为啥放 target 里?建议了解下每个文件夹的功能 |
5 micean OP |
6 AlisaDestiny 2019-09-21 09:39:07 +08:00 src 目录才是你放东西的地方,target 目录全是自动生成的东西,配置好 pom 文件,src 里的东西会自动编译 /复制进 target 目录。 |
7 Bryan0Z 2019-09-21 09:45:54 +08:00 via Android 楼上都没理解问题吧,Maven 会执行 compile 前会自动执行 clean,这一步会删除 target 文件夹下面所有文件。 关于楼主的问题,可以在 pom 文件里手动指定 resources 的处理逻辑,比如每次编译都复制到指定文件夹,这样就不会有问题了 |
8 micean OP @Bryan0Z 是运行时发生的,不是启动时删除的 比如说我修改了 /resources/tamplates/下的某个模板文件 1. 如果我 recompile 整个 tamplates,tamplates 里的文件被复制到 target 相应目录里。请求读取这个文件之后,target 相应目录的大部分模板文件(包括一部分未修改的)会被删除掉 2. 如果我复制这一个模板文件到 target 相应目录,再 recompile 某个 java 文件。请求读取这个文件之后,target 相应目录的这个模板文件会被删除掉 |
9 Bryan0Z 2019-09-21 10:02:04 +08:00 via Android @micean 对呀,每次你 recompile,target 下面都会被清空,无论你的程序对于 resources 做了什么修改,都不会在下次编译被保留。我觉得 SpringBoot 自带的多配置管理更适合你 |
10 micean OP |
11 BLK 2019-09-21 10:55:09 +08:00 重新编译不是就会删除 target 的文件,然后再重新覆盖一边嘛 |
12 micean OP 折腾了一上午,rebuild 整个工程又 tm 正常了……跟重启电脑有异曲同工之妙 |
13 yqsas 2019-09-21 12:11:10 +08:00 via iPhone 遇到过,idea 和 maven 版本都一样,一个电脑没问题,一个不能在 target 编译出 resources 的文件,时好时坏没找到原因 |
14 leey 2019-09-21 17:26:04 +08:00 我遇到过,检查是否将 resources 文件夹在 idea 里设为资源文件夹,如果没有的话,可以右键 resources 文件夹,选择菜单 Mark Directory as Sources Root。如果用 kotlin,某些 kotlin 版本也会有这个问题。更换 kotlin 版本,还有 kotlin 编译插件的版本 |