我是 Make 构建系统的长期用户,但我决定开始学习 Maven 构建系统。虽然我已经阅读了大多数在线文档,但似乎没有一个能给我我正在寻找的类比。我了解系统的生命周期,但我没有看到编译步骤依赖项的参考。例如,我想生成一个 JFlex 语法作为编译生命周期步骤的一部分。目前,我认为没有办法将该步骤作为预编译阶段步骤。文档似乎仅限于此。一般来说,步骤依赖的概念似乎已经融入了 Maven,并且需要一个插件来进行任何更改。是这样吗?我错过了什么,因为目前 Maven 构建系统在如何设置编译步骤方面似乎非常有限。
问问题
635 次
2 回答
4
你可以在 Maven 中做任何事情。它通常有一个默认的方式来做每一件事,然后如果你想做一些特别的事情,你可以加入并覆盖。有时需要大量的堆栈溢出和头疼才能弄清楚。
甚至还有一个官方的JFlex Maven 插件。
只要有可能,就找一个让 Maven 插件做你想做的事的人。即使它不是 100% 正确,它至少可以让您了解如何让 maven 做某事。
最低配置
此配置为src/main/jflex/ 及其子目录中的所有语法文件( .jflex 、 *.jlex 、 *.lex 、 .flex )生成解析器的 java 代码。生成的Java源代码的名称和包是在语法中定义的。生成的 Java 源代码放置在 target/generated-source/jflex 中,在遵循 Java 包名称约定的子目录中。pom.xml
<project>
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>de.jflex</groupId>
<artifactId>jflex-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!-- ... -->
</build>
<!-- ... -->
</project>
这感觉像是行家的做事方式。把你的东西放在正确的文件夹(src/main/flex),这个插件会自动将它构建到你的项目中。如果你想做更高级的定制东西,有一些选择。但是 Maven 就是要支持约定而不是配置。
于 2010-10-23T16:43:26.157 回答
0
坦率地说,我认为您当前的思维方式映射到 ant 比映射到 maven 好得多,我建议从那开始。
于 2010-10-23T16:20:07.753 回答