1

我正在使用 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 生成了代码,但它进入了目标文件夹中的 generate-sources 文件夹。然后将其添加为 eclipse 中的源文件夹,并且 maven 知道将这些类添加到构建中。

我基本上只是想通过将我生成的代码转储到 src/main/webapp. 我知道我必须 gitignore 这个文件。

4

2 回答 2

1

您可以将生成的文件放在一个目录中,例如target/generated-webapp. 然后使用资源插件将所有其他文件从复制src/main/webbpptarget/generated-webapp. 最后将战争插件指向target/generated-webapp它的warSourceDirectory

于 2016-08-05T08:53:29.193 回答
0

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

而是使用资源、战争、程序集...插件将文件复制到您构建的战争中。

于 2015-06-04T15:42:13.910 回答