idea的java代码引用proto文件报错

作者 : admin 本文共1322个字,预计阅读时间需要4分钟 发布时间: 2024-06-16 共1人阅读

尝试了四种办法,感觉第一个和第二个比较有效。

前提是要先安装了 protoidea插件。

idea的java代码引用proto文件报错插图

1.修改idea配置文件编译大文件的限制

proto生成的源文件有数万行,源文件过大导致 idea 拒绝编译过大的源文件。

解决方案:

如果 protoc 生成的 class 文件找不到,说明 protoc 文件没有没有正确编译。 可以调整 IDEA 的默认参数, 然后重启 IntelliJ IDEA 使得 IDE 能够正确找到 protoc 生成的 Java 类。

idea.max.intellisense.filesize 的值默认为 2500, 单位是 kb,即默认最大的源码文件大约为 2.5M,前面的参数把这个值调整到接近 10M。

然后重启IDE

问题分析:

比如 apache ratis 项目中从 proto 文件生成的这个源码大小是 2504kb, 刚好超过 2500 kb。

具体步骤:

  • 找到idea安装目录bin/idea.properties文件
idea.max.intellisense.filesize=10000 #默认2500

或者idea界面的菜单

Help-> Edit Custom Properties

增加下面的配置

idea.max.intellisense.filesize = 10000

重启IDE

2.编译代码问题

如果用maven依赖的方式编译译文件,才会引用到

如果是依靠maven来编译识别proto文件的,那么需要先把proto文件编译生成一些编译后的java文件,java文件中才会引用到这部分proto文件。

使用maven的 compile 命令进行编译

pom文件的配置


  1.6.1
  3.3.0





         
            io.grpc
            grpc-netty
            ${grpc.version}
            provided
        
        
            io.grpc
            grpc-protobuf
            ${grpc.version}
            provided
        
        
            io.grpc
            grpc-stub
            ${grpc.version}
            provided
        
        
            com.google.protobuf
            protobuf-java
            ${protobuf.version}
        





        
            
                kr.motd.maven
                os-maven-plugin
                1.5.0.Final
            
        
        
            
                org.xolstice.maven.plugins
                protobuf-maven-plugin
                0.5.0
                
                    com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
                    grpc-java
                    io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
                
                
                    
                        
                            compile
                            compile-custom
                        
                    
                
                        
        
    

3.将存放proto的文件 变成 source 目录

idea的java代码引用proto文件报错插图(1)

4.选择存放文件的目录

idea的java代码引用proto文件报错插图(2)

参考:

https://www.cnblogs.com/liugh/p/7505533.html

idea导入Protocol buffers编译的代码报错,无法导入_idea protobuf 报错-CSDN博客

IntelliJ IDEA 中找不到 protocol buffer 生成的 Java 类的解决方法_idea.max.intellisense.filesize-CSDN博客

本站无任何商业行为
个人在线分享 » idea的java代码引用proto文件报错
E-->