使用maven生成WAR文件时未解决的编译问题

时间:2016-10-06 15:59:46

标签: java eclipse maven

当我使用mvn clean install生成WAR文件时,某些类会抛出以下错误信息:

  

public Person deletePers(String paramString1,String paramString2){       抛出新的错误(“未解决的编译问题:\ n \ t交易无法解析为类型\ n .......;}

但是如果我在Eclipse中生成我的WAR文件(文件>导出为War文件),我不会收到上述错误。有谁知道如何解决这个问题?

change

1 个答案:

答案 0 :(得分:2)

问题部分:

这种情况正在发生,因为eclipse使用的是自己的编译器

Eclipse已经实现了自己的编译器,称为 Eclipse Compiler for Java (ECJ)。

与javac (Sun JDK附带的编译器)不同。一个值得注意的差异 Eclipse编译器允许您运行代码 实际上没有正确编译

如果从未运行带有错误的代码块,您的程序将运行正常。否则,它将抛出异常,指示您尝试运行无法编译的代码。

另一个区别是Eclipse编译器允许在Eclipse IDE中进行增量构建,也就是说,所有代码在您完成键入后立即编译为

=============================

解决方案部分:

不幸的是,Eclipse中有没有快捷方式切换到 Javac(来自Sun / Oracle)。您不能简单地从eclipse中的下拉列表或类似内容中选择javac。

FYi: IntelliJ IDEA 中的very simple

但是,您可以使用 Ant 任务或外部工具配置来实现此目的。

上述两种方法都清楚地解释了in this SO answers