在哪里放置maven生成的webapp工件?

时间:2015-06-04 15:35:34

标签: java maven swagger-maven-plugin

我使用swagger maven插件生成我的swagger.json文件。我希望它在webapp(src / main / webapp)中作为静态资源可用。

在github页面上的示例中,他们就像这样配置它。

<swaggerDirectory>generated/swagger-ui</swaggerDirectory>

我无法看到这有用,因为它不在webapp文件夹中。我想你必须手动将它复制到有用的位置,但如果它没有自动化,那么maven的意义何在。

我已经在我的项目中对此进行了配置。

<swaggerDirectory>${basedir}/src/main/webapp/swagger</swaggerDirectory>

这允许我在开发期间(作为eclipse项目)和部署时(作为构建的war文件)访问文件。

问题是,在通常的src / main文件夹中弹出生成的工件是否可以?

我已经从jaxb生成了代码,但它进入了目标文件夹中的generated-sources文件夹。然后将其添加为eclipse中的源文件夹,maven知道将这些类添加到构建中。

我基本上只是想检查一下,我通过将生成的代码转储到src / main / webapp中来解决maven失礼。我知道我必须给这个文件打电话。

2 个答案:

答案 0 :(得分:1)

您可以将生成的文件放在target/generated-webapp等目录中。然后使用src/main/webbpptarget/generated-webapptarget/generated-webapp的所有其他文件resource plugin to copy。最后将war plugin指向{{1}},因为它warSourceDirectory

答案 1 :(得分:0)

我建议不要将生成的代码放入src / main中 - 这将提交给源代码控制。此外,在您的情况下,文件本身是由maven插件生成的 - 这将在您构建项目时运行。

而是使用资源,war,assembly ...插件将文件复制到你的内置战争中。