3

我正在将项目从 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 是否有一些变化可能会影响这一点?从阅读文档没有任何改变......

4

1 回答 1

3

您必须将目标文件夹指定为如下所示。目前,如果您查看目标文件夹,您可能在那里有一个 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>
于 2013-01-04T17:34:22.440 回答