我有一个简单的Maven项目,其中包含一个包含
的文件App.javapackage com.foo;
public class App
{
private Long wrapper;
public long getlong() {
if (null != wrapper) {
return wrapper;
} else {
return 0;
}
}
}
(你可以在5分钟的项目创建中使用Maven并用上面的代码替换App.java来复制它。)
mvn compile
生成
.../foo/App.java:[9,12] incompatible types
found : java.lang.Long
required: long
导航到目录并运行javac App.java
时不会产生任何错误。有谁知道怎么了? (我假设Maven使用我的盒子上安装的任何Java版本;无论如何,那是1.6.0_21。谢谢。
答案 0 :(得分:3)
可能正在使用1.4的source
或target
版本进行编译。您需要配置编译器插件以编译更高版本。请参阅"How do I set up Maven so it will compile with a target and source JVM of my choice?"和"Setting the -source
and -target
of the Java Compiler":
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
...
</build>
...