【发布时间】:2012-12-19 03:07:42
【问题描述】:
我正在将一个项目从 Maven 2 移植到 Maven 3。我也借此机会更新了一些插件的版本,即 maven-compiler-plugin,从 2.1 到 3.0,以及 maven-resources-plugin,到 2.6。
我在资源下有这样的接口:
public interface Version {
public static final String VERSION = "${project.version}";
}
在我的 pom.xml 中,在构建中,我有:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
这以前是有效的。但是自从升级到 Maven 3,编译失败,找不到版本。
很明显,它没有编译 Version 或没有将其包含在类路径中。
Maven 3 或最新版本的 maven-compiler-plugin 是否有一些变化可能会影响这一点?阅读文档后没有任何改变...
【问题讨论】:
-
这在 Maven 2 中是如何工作的?你是怎么看的?因为通常不会编译位于 src/main/resources 中的 java 文件。问题是你为什么需要这些东西?你有一个作为工件坐标一部分的版本?
-
正如发布的那样,您没有提供足够的信息。你正在做某种形式的代码生成,但不清楚你是如何做的(因为简单地用 transform 复制资源不会这样做)。我建议使用
-X运行新旧版本,看看它们有何不同。 -
实际上这里的问题在于 maven-compiler-plugin 3.0。它适用于 2.1。
标签: java maven maven-3 maven-resources-plugin maven-compiler-plugin