iea*_*czp 26 java intellij-idea
朋友首先,谢谢你的帮助.当我使用IntelliJ IDEA编译一个java项目时,它告诉我"编译失败:内部java编译器错误的想法".更多细节信息喜欢:信息:Eclipse编译器4.6.2用于编译java源信息:模块"sinoWeb"由于项目配置/依赖项更改而完全重建信息:2017/3/23 11:44 - 编译完成1错误和0警告5m 32s 949ms错误:java:编译失败:内部java编译器错误我很困惑.以下是我的设置.


小智 32
Ton*_*him 19
就我而言,使用 Java 11,我有:
public List<String> foo() {
...
return response.readEntity(new GenericType<List<String>>() {});
Run Code Online (Sandbox Code Playgroud)
和 Intellij 建议我应该使用<>而不是GenericType<List<String>>,因此:
public List<String> foo() {
...
return response.readEntity(new GenericType<>() {});
Run Code Online (Sandbox Code Playgroud)
我在四个函数中做到了这一点,项目停止编译并出现内部编译器错误,恢复并再次编译。看起来像类型推断的错误。
ome*_*ici 17
我将编译器更改为Eclipse并运行我的项目.后来改回Javac,问题解决了.我不知道确切的问题,但它可以帮助谁在寻找解决方案.
pri*_*ime 13
在JIdea 2020.1.2 及以上版本中,
这可能是项目结构中设置的语言级别与目标字节码版本不兼容。
您必须更改目标字节码版本。
注意: 如何检查语言级别
ResponseEntity<Map<String, Integer>> response = restTemplate.exchange(
eurl,
HttpMethod.POST,
requestEntity,
new ParameterizedTypeReference<>() { <---- this causes error
}
);
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
ParameterizedTypeReference<Map<String, Integer>> responseType = new ParameterizedTypeReference<>() {};
ResponseEntity<Map<String, Integer>> response = restTemplate.exchange(
url,
HttpMethod.POST,
requestEntity,
responseType
);
Run Code Online (Sandbox Code Playgroud)
它可能与本案无关,但是:
当我更改显式类型参数列表时出现此错误:
new ParameterizedTypeReference<List<SomeDtoObject>>()
Run Code Online (Sandbox Code Playgroud)
到<>:
new ParameterizedTypeReference<>()
Run Code Online (Sandbox Code Playgroud)
在restTemplateIntellij 发出警告后的通话中,请<>改为使用。
当我将更改撤回到显式类型参数时,它得到了修复。
| 归档时间: |
|
| 查看次数: |
19818 次 |
| 最近记录: |