Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant Maven:如何编写自定义插件来复制静态资源?_Ant_Maven_Maven Plugin_Mojo - Fatal编程技术网

Ant Maven:如何编写自定义插件来复制静态资源?

Ant Maven:如何编写自定义插件来复制静态资源?,ant,maven,maven-plugin,mojo,Ant,Maven,Maven Plugin,Mojo,我们所有使用docbook创建文档的项目在站点生成期间必须在特定的目标文件夹结构中具有一组静态资源(图像、css文件等) 为了组装这些资源并进行复制,我想编写一个自定义插件,该插件只需添加到这些项目中,绑定到适当的生命周期阶段,并在执行时复制所有必需的文件 第一种方法是创建基于Ant的插件,因为复制任务写在几行中。但是,Ant的复制任务复制文件系统中的内容。。。但在执行插件时,资源位于插件的类路径中,在文件系统中不可用。对吧? 所以我可能必须编写一个MOJO(基于Java的)。我猜将资源文件和文

我们所有使用docbook创建文档的项目在站点生成期间必须在特定的目标文件夹结构中具有一组静态资源(图像、css文件等)

为了组装这些资源并进行复制,我想编写一个自定义插件,该插件只需添加到这些项目中,绑定到适当的生命周期阶段,并在执行时复制所有必需的文件

第一种方法是创建基于Ant的插件,因为复制任务写在几行中。但是,Ant的复制任务复制文件系统中的内容。。。但在执行插件时,资源位于插件的类路径中,在文件系统中不可用。对吧?


所以我可能必须编写一个MOJO(基于Java的)。我猜将资源文件和文件夹从插件的类路径二进制复制到项目的目标文件夹或多或少是一项标准任务,那么在开发插件时我能得到什么支持呢?是否有任何我应该使用的基本类或实用类,或者任何我可以从中复制代码的插件?

确切地说,已经有了这种功能。深入查看这些文档。

确切地说,它已经具备了这种功能。深入查看文档。

您阅读过maven站点插件的文档吗?你读过maven站点插件的文档吗?是的,但我不想重复插件配置,也不想在每个项目中包含资源文件。相反,资源和复制逻辑应该封装在一个插件中,只需包含该插件即可。此外,我无法在父POM中配置,因为并非所有项目都共享相同的POM层次结构。我是否正确理解您拥有多个项目中使用的资源?如果是这样,你应该考虑创建自己的皮肤,而不是使用maven默认皮肤来创建网站。我们已经有了自己的皮肤,这对所有项目都是一样的。所提到的资源实际上不是站点的一部分,而是在站点构建过程中用来生成一些文档文件(例如PDF)——这些文档文件反过来被放入站点中。也就是说,这些资源不是站点本身的一部分,而是用于构建文档,但仅限于我们的一些项目。顺便说一句,我已经尝试将这些资源放在一个单独的Maven项目(JAR)中,该项目在所有相关项目中都使用Maven dependency plugin进行解包,但我更愿意两者兼而有之(保留资源并复制它们)在一个插件中…是的,但我不想重复插件配置,也不想在每个项目中包含资源文件。相反,资源和复制逻辑应该封装在一个插件中,只需包含该插件即可。此外,我无法在父POM中配置,因为并非所有项目都共享相同的POM层次结构。我是否正确理解您拥有多个项目中使用的资源?如果是这样,你应该考虑创建自己的皮肤,而不是使用maven默认皮肤来创建网站。我们已经有了自己的皮肤,这对所有项目都是一样的。所提到的资源实际上不是站点的一部分,而是在站点构建过程中用来生成一些文档文件(例如PDF)——这些文档文件反过来被放入站点中。也就是说,这些资源不是站点本身的一部分,而是用于构建文档,但仅限于我们的一些项目。顺便说一句,我已经尝试将这些资源放在一个单独的Maven项目(JAR)中,该项目在所有相关项目中都使用Maven dependency plugin进行解包,但我更愿意两者兼而有之(保留资源并复制它们)在一个插件中。。。