无法让IntelliJ识别原型编译的Java类文件

时间:2015-05-05 18:03:05

标签: eclipse intellij-idea protobuf-c

我们的项目中有一个build.xml,但IntelliJ无法从中导入。我得到了:

Cannot import anything from <path_to>/build.xml file.

在Eclipse上我可以做:

File -> Import -> General -> Existing Projects into workspace.

并选择了顶级文件夹。我也在IJ做过同样的事。项目导入和索引很好,我可以搜索任何类。但是,它无法识别protobuf编译的类文件。我安装了proto插件,因此它的语法突出显示了我的.proto文件,但仍然没有意识到它需要引用的编译类输出。我是否需要做一些特别的事情来让它识别这些文件?

2 个答案:

答案 0 :(得分:18)

因为这是我唯一可以找到我所面对的问题的完全描述的地方,即使这是一个老问题,我也会回复。

事实证明,如果协议缓冲区编译器生成的.java文件大于2.5MB(默认设置),则Idea会完全忽略它。即使有.class文件,即使编译/生成成功,即使您使用Maven构建项目也不错。

要解决此问题,只需编辑idea.properties文件(它位于您的Idea安装文件夹中的bin文件夹中),并注释掉此设置,或将其设置为大于生成的.java文件。 {1}}文件(在我的情况下,我将其设置为15000,因为我生成的文件当前大小约为8MB):

#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500

注意:至少在Linux上,默认更新策略似乎是“用刚刚下载的内容覆盖旧的Idea文件夹”,每次更新/升级后都必须应用此更改。< / p>

答案 1 :(得分:1)

米歇尔答案的扩展,

Mac中没有bin文件夹。

在macOS中,当Intellij无法识别原始编译的Java类文件时,

从“帮助”菜单--->选择“编辑自定义属性”。可能会要求您在

下创建idea.properties文件
$HOME//Library/Application\ Support/JetBrains/IdeaIC2020.1/

创建属性idea.max.intellisense.filesize = 2500并设置该值以容纳您的胖胖原始编译文件,以供IntelliJ识别。