0

在其中一个类中,我有以下代码:

str.isEmpty()

在我将此元素添加到 POM 之前,它编译得很好:

<parent>
    <artifactId>teevra.platform.parent</artifactId>
    <groupId>com.hs.fusion</groupId>
    <version>2.0.0</version>
</parent>

然后 eclipse 立即开始给出一个错误,说“方法 isEmpty() 对于 String 类型是未定义的”。我显然需要这个父级来访问这个子项目所需的类/接口。

我想知道是什么导致了从 Java 版本 1.6 到 1.4 的转变,如何预防?更令人困惑的是,在命令提示符下,项目构建良好,但在 Eclipse Juno 中却没有。

任何帮助将不胜感激,G.

4

2 回答 2

0

为确保没有无效的 JRE 调用泄漏到您的项目中,您应该使用http://mojo.codehaus.org/animal-sniffer/似乎您的父母降低了maven-compiler-plugin的源/目标

于 2013-09-23T21:33:05.207 回答
0

您需要指定要使用的特定 java 版本。您的问题可能是您的 eclipse 默认值与 maven 默认值不同,因此一旦添加依赖项,m2e 就会使用 maven 默认值(1.5)重新生成项目设置

只需明确指定所需的 java 版本。在你的插件部分有这样的东西

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.5.1</version>
    <configuration>
       <source>1.6</source>
       <target>1.6</target>
    </configuration>
</plugin>
于 2013-09-23T21:37:10.817 回答