官术网_书友最值得收藏!

Compiling your module

Compiling code in a Java 9 module requires the use of the javac command as always, but with a few different options this time. To compile modules in Java 9, you need to provide the javac command with the following information:

  1. The location of your modules. This is the directory that contains the module root folders for all the modules in your application. In our case, this is the src folder. In it, we just have one module root folder.
  2. The paths and names of the Java files that need to be compiled. In our case, it's just one file--Main.java.
  3. The destination location where the compiler needs to output the compiled .class files. This can be any location, but I recommend choosing a folder named out directly below the project root folder.

To compile the module you've written, go to the project root (in our example, it's ~/code/java9) and run the following command:

Here, you are specifying the module source path (1) using the --module-source-path command option, the output directory for compiled classes (2) using the -d command option, and the list of Java source files (3) by specifying them directly in the command (in this case, Main.java and module-info.java).

If the compiler is successful, there is no output to the console. The out directory should contain the compiled classes:

Note that there is a one-to-one mapping between the source and compiled classes. Even the module descriptor module-info.java has been compiled to a .class file--module-info.class. This is for a very important reason. The module configuration provides metadata information about the module not just to the compiler during compile time, but also to the JVM during runtime. Thanks to the module-info.class, the JVM also has all the information about every Java module, thus enabling the runtime to tap into many of the benefits of the module system during execution.

主站蜘蛛池模板: 湖南省| 新和县| 合作市| 锡林浩特市| 马鞍山市| 图木舒克市| 新野县| 西城区| 六盘水市| 新化县| 绥芬河市| 天柱县| 梁平县| 合作市| 涿鹿县| 云和县| 察隅县| 长岭县| 定日县| 麻阳| 苏州市| 体育| 汝州市| 额济纳旗| 剑河县| 九寨沟县| 安新县| 阿合奇县| 信宜市| 关岭| 东安县| 白朗县| 永登县| 柞水县| 罗甸县| 太康县| 武威市| 沙雅县| 莱阳市| 承德市| 萨迦县|