我正在将一个项目从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, under build中,我有:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
这是以前工作。但自从升级到Maven 3,编译失败,无法找到版本。
很明显,它没有编译Version或者没有将它包含在类路径中。
是否有一些变化与Maven 3或Maven -compiler-plugin的最新版本,可能会影响这一点?
您必须像下面这样指定目标文件夹。目前,如果你在目标文件夹中查找,可能会有一个version。java文件。通过添加targetPath,它将把过滤后的.java文件放入你的src/java文件夹,并将其编译到你的目标文件夹。
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.java</include>
</includes>
<targetPath>${basedir}/src/main/java/</targetPath>
</resource>