什么时候应该将脚本放在/ src / main / scripts(maven标准)中,什么时候不放?

时间:2015-03-26 19:39:57

标签: maven maven-assembly-plugin

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}}属性相关联。)

0 个答案:

没有答案