当我使用mvn clean install生成WAR文件时,某些类会抛出以下错误信息:
public Person deletePers(String paramString1,String paramString2){ 抛出新的错误(“未解决的编译问题:\ n \ t交易无法解析为类型\ n .......;}
但是如果我在Eclipse中生成我的WAR文件(文件>导出为War文件),我不会收到上述错误。有谁知道如何解决这个问题?
change
答案 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。