Maven Standard Directory Layout表示脚本应放在maven项目的src/main/scripts
中。除了"约定优于配置"这样做有什么其他好处吗?我有一个使用程序集插件构建可执行jar-with-dependencies的项目。还有一些有用的脚本随之而来。是否有任何工具可以利用这种布局来构建其他内容,例如,在合理位置包含jar和这些脚本的存档?
[更新]
事实上,我甚至会说,在src/main/scripts
中放置脚本是不利,就使用maven-assembly插件而言。看来,一切都在/src/main
(当然除src/main/java
之外)被复制到jar-with-dependencies的根目录中,与src/main/resources
一样,这很有用。但是没有充分的理由在jar中加入脚本,尽管它没有特别的危害。如果不是将它们放在src/main/scripts
中,而是将它们放在src/scripts
中(类似于标准src/assembly
,也不包括在内),那么它们不会被复制到src/main/scripts
中。 jar,可以通过稍后运行的程序集插件复制到更大的存档中。
更新:看来我们必须区分从java代码中启动的运行时脚本和启动jar或执行其他操作的其他脚本。对于前者,将它们放在src/main/scripts
中可能是合适的。对于后者,不合适。
更新:我输入了bug against the maven documentation。
更新:标准目录布局文档was removed中的project.build.scriptSourceDirectory
目录due to it being misleading。 (然而,遗留物仍然留在Introduction to POM,因为它与{{1}}属性相关联。)