读取maven插件

时间:2017-08-19 15:14:36

标签: maven maven-plugin

我正在尝试创建一个maven-plugin,它基于模板文件生成新文件(基本上使用FreeMarker语言)。如果我从maven-plugin项目的目录运行maven插件,我可以成功生成文件,因为我的插件根据相对路径访问模板文件。

但是,如果我尝试在其他一些java项目目录中运行插件,我找不到模板文件。我不想将模板文件复制到新的java项目中。

我搜索了一下,当另一个项目使用插件但是没有成功时,maven插件是否可以访问自身内的文件。大多数文档都是指访问java项目文件,而不是maven-plugin文件。

这是否可行或是否有更好的方法/解决方法来解决问题?

编辑(目录结构):

Maven-Plugin (FileGenerator):
src
--main
  --java
     --FileGenerator.java (references the TemplateFile based on the path to the root project)
TemplateFile

如果我将该插件作为独立版运行,我可以基于TemplateFile生成新文件。我实现了以下结构

Maven-Plugin (FileGenerator):
src
--main
  --java
     --FileGenerator.java 
TemplateFile
NewFile1
NewFile2

但是,如果我使用命令mvn myplugin:mypluginplugin:1.0-SNAPSHOT:build

在另一个目录(例如另一个java项目的一部分)中运行该插件
Another Java Project
src
--main
  --java
    --AnotherFile.java
pom.xml

我收到错误,提到无法找到TemplateFile。有没有办法让插件引用TemplateFile而不管它在哪里运行?

运行插件后的理想输出

Another Java Project
src
--main
  --java
    --AnotherFile.java
pom.xml
NewFile1
NewFile2

0 个答案:

没有答案