Maven标准目录结构中 SQL,DDL,...脚本的推荐位置是什么?
我敢打赌,几乎每个Web项目都使用数据库和某种需要存储在某处的SQL脚本,那么保存这些文件的"最佳"位置可能是什么?
请指教.
Adr*_*hum 57
我认为没有最好的做法.在我过去的项目中,我创建了一个用于存储此类SQL脚本的单独目录.
例如src/main/db.
默认情况下它不会被打包到最终的JAR(在大多数情况下这是首选的方式),但它很方便让它在程序集中打包.您甚至可以通过添加相应的资源声明或使用maven build-helper插件将它们打包到主工件JAR中.
但是,一切都取决于您对此脚本的使用情况.我简单的"经验法则"是,我会考虑将它们resources/放入应用程序加载的资源中.
rbe*_*amy 25
我认为这完全取决于处理这些脚本的时间和方式:
src/main/,如src/main/sql或src/main/db.虽然我不这样做,但我可以看到编译时任务使用这些来修改你的数据库.我可以看到liquibase脚本在这里使用,然后通过maven任务执行.src/main/resources似乎是合理的,以便您的运行时进程可以使用它们根据您的需要更改您的数据库 - 例如,作为部署中的热修复处理的一部分,或作为正常数据库即时版本控制工作的一部分.再一次,也许您使用您的应用程序运送liquibase,然后以这种方式进行就地DB更改...src/scripts/sql或src/scripts/db.这将它们作为"源"文件放在maven的范围内,但是在一个旨在以更临时的方式使用的地方.src/main/resources 是个好地方,但请记住,它会打包到您的最终 jar 中,因此这取决于您是否想在生产代码中显示它。
如果没有,您可以通过将 maven-jar-plugin 配置摘录添加到适当的来过滤掉它pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>src/main/resources/privateSubdir/**</excludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17066 次 |
| 最近记录: |