是否存在生成POM.xml文件的Java类?
在我的工作项目中,最近有人要求我通过java类生成POM文件。问题在于,我对Maven非常非常陌生(就像去年12月以来)。
我需要的是给出所有必要数据的,以某种方式生成xml文件(一个pom文件,但是如果我可以配置任何xml创建代码就可以的代码)的代码,因此他们不需要手动编写它。我不知道自己是否在解释自己,但问题是,是否存在任何使用给定数据生成或构造POM文件的库或类?如果不是很好,我只是不想浪费更多时间寻找不知道它是否存在的东西,或者只是声明一个POM对象那么简单,然后做一个琐碎的Document
d = generatePom(POM p)。由于没有人抱怨编写POM文件有多困难,我认为应该有一种简单的方法来处理它们,但是我认为我已经迷失了很多API
Javadoc,无法找到回头路。
我的想法是,如果没有代码,那就是使用XML生成器搜索POM字典(以覆盖所有元素)并使用给定的POM对象(我之前已经填充了提供的数据)创建xml文件。例如JDOM,XOM或XStream。如果没有任何班级对此事有任何想法,将不胜感激(例如“嘿!您正在做错了”)。
PS:我已经读到Eclipse项目正在做一些Maven事情,并且它具有一个API,该API会为您拥有的实际项目生成pom.xml文件。如果我可以覆盖输入数据或其他东西,那将是一件好事。
谢谢大家!
回答:
这取决于您要执行的操作。如果只想为肯定类型的新项目创建POM,最好的方法是通过Maven原型(您可以使用所需的模板创建自己的原型)。
如果确实需要以编程方式编写POM,则可以使用以下命令:
import org.apache.maven.model.*;import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
...
Model model = new Model();
model.setGroupId( "some.group.id" );
...
new MavenXpp3Writer().write( w, model );
…其中w是java.io.Writer,您添加了所有必要的异常处理。
Javadoc在这里:http : //maven.apache.org/ref/2.2.1/maven-
model/apidocs/index.html
要访问此API,您应添加以下依赖项:
<dependency> <groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>2.2.1</version>
</dependency>
也有相应的读取API,但请记住,它不会执行所有Maven操作,例如继承和插值(为此需要更高级的API使用)。
以上是 是否存在生成POM.xml文件的Java类? 的全部内容, 来源链接: utcz.com/qa/404667.html