什么是Kotlin模块?

时间:2016-02-08 13:56:57

标签: kotlin

在Kotlin文档中,他们提到某种模块,例如documentation中的internal修饰符。

但是我找不到术语 module 本身的任何定义。那么模块是什么意思?

2 个答案:

答案 0 :(得分:24)

  

模块是一组编译在一起的Kotlin源:

     
      
  • IntelliJ IDEA模块;
  •   
  • Maven项目;
  •   
  • Gradle源集;
  •   
  • 通过一次Ant任务调用编译的一组文件。
  •   

这与docs article关于可见性修饰符的内容相同。 :)

答案 1 :(得分:1)

在Kotlin的documentation中,模块是一起编译在一起的Kotlin文件的集合:

  • 一个IntelliJ IDEA模块
  • 一个Maven项目;
  • Gradle来源集
  • 一组通过调用<kotlinc> Ant任务而编译的文件。

那是 @hotkey的,但是我想补充这个答案。

According to Andrey Breslav,Kotlin的首席语言设计师:

Kotlin模块将一对一映射到IntelliJ的模块(iml文件)。

根据IntelliJ的documentation

模块使您可以在一个应用程序中结合多种技术和框架。在IntelliJ IDEA中,您可以为一个项目创建几个模块,每个模块都可以负责其自己的框架。

涉及Maven项目或命令行编译时,Andrey states

默认情况下,每个编译器运行的都是一个单独的模块:所有二进制依赖项都将被视为当前不在正在编译的模块中。

另外,Gradle源集是一个模块,但test源集可以访问main的内部声明。

这意味着,如果您在Gradle配置中具有不同的构建风格,从而导致不同的源集(例如,对于生产和调试版本),则来自一个源集的内部类将不可用于另一源集。