Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Maven项目中,我应该将IDL文件和生成的代码放在哪里?_Java_Maven_Protocol Buffers_Thrift - Fatal编程技术网

Java 在Maven项目中,我应该将IDL文件和生成的代码放在哪里?

Java 在Maven项目中,我应该将IDL文件和生成的代码放在哪里?,java,maven,protocol-buffers,thrift,Java,Maven,Protocol Buffers,Thrift,我的项目使用标准的Maven目录结构 - src - main - java - resources - webapp - test - java - resources - target 现在我想使用Thrift和gRPC,但我不知道应该把IDL文件放在哪里,把生成的代码放在哪里?是否有任何“标准”或“最佳实践”建议?谢谢你的帮助 通常,生成过程生成的源位于target/generated sources目录下 如果您是从第三方工具生成源代码

我的项目使用标准的Maven目录结构

- src
  - main
    - java
    - resources
    - webapp
  - test
    - java
    - resources

- target

现在我想使用Thrift和gRPC,但我不知道应该把IDL文件放在哪里,把生成的代码放在哪里?是否有任何“标准”或“最佳实践”建议?谢谢你的帮助

通常,生成过程生成的源位于
target/generated sources
目录下

如果您是从第三方工具生成源代码,而该第三方工具未与构建过程集成,或者无法与构建过程集成,那么您应该将其存储在类似
generated/src/main
的内容中,以便您知道它下的所有内容都已生成

在Intellij中,您可以使用maven默认值,或者如果生成的源位于
target
文件夹之外的
generated/src/main

如何在Intellij中标记目录

内容根解释


如果将AIDL文件放在与生成文件完全相同的包中(关于包),则将AIDL文件放在src/树中,“生成”文件将放在“生成”树中

  • src
    • 主要
      • 爪哇
        • 组织机构
          • 随便
            • 计划
              • 服务
                • 艾德尔
                  • POJO2.java
                  • 艾德汽车旅馆
                  • 艾德尔汽车旅馆
                  • POJO1.aidl
这样,生成的文件将位于“org.where.project.services.aidl”包中

这是一本很好的指南。

下面是一个示例应用程序:

我想你是对的,将IDL文件与生成的代码放在同一个包中似乎很好