【问题标题】:Where should I put IDL files and generated code in Maven project?我应该在 Maven 项目中将 IDL 文件和生成的代码放在哪里?
【发布时间】:2016-03-30 13:34:07
【问题描述】:

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

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

- target

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

【问题讨论】:

    标签: java maven protocol-buffers thrift


    【解决方案1】:

    您将 AIDL 文件放在与您希望生成的文件相同的包中(相对于包),您将 AIDL 文件放在您的 src/ 树中,“生成”文件将在“生成”树。

      • 主要
        • Java
          • 组织
            • 随便
              • 项目
                • 服务
                  • 援助
                    • POJO2.java
                    • IRemoteService.aidl
                    • IRemoteServiceCallback.aidl
                    • POJO1.aidl

    通过这样做,生成的文件将在 'org.whatever.project.services.aidl' 包中

    这是一个很好的指南。 http://developer.android.com/guide/components/aidl.html

    这是一个示例应用程序: https://github.com/douglascraigschmidt/POSA-15/tree/502d9db2cbd90de3f4de0ed1bb74750004f47f06/ex/AcronymExpander/src/vandy/mooc/model/aidl

    【讨论】:

    • 我觉得你说得对,把IDL文件和生成的代码放在同一个包里好像不错
    【解决方案2】:

    通常由构建过程生成的源代码位于target/generated-sources 目录下。

    如果您从没有或不能与您的构建过程集成的第三方工具生成源代码,那么您应该将其存储在generated/src/main 之类的东西中,以便您了解生成的所有内容。

    在 Intellij 中,您可以使用 maven 默认值,或者如果您在 target 文件夹之外以及 generated/src/main 之类的文件中拥有生成的源代码,也可以明确告诉它您在哪里拥有生成的源代码

    如何在 Intellij https://www.jetbrains.com/idea/help/configuring-content-roots.html#generated 中标记目录

    内容根源解释https://www.jetbrains.com/idea/help/content-root.html

    How to configure IntelliJ IDEA and/or Maven to automatically add directories with Java source code generated using jaxb2-maven-plugin?

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 2010-10-02
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多