java模块化 一

2019-08-05  本文已影响0人  何德何能者

学习java模块化的第一个程序,hello world!
用idea建个java程序


mod1.png

选择jdk版本,模块化是jdk9以后加的,所以要选jdk9以上的版本;

mod2.png
不选,直接next
mod3.png
给项目一个名字,然后点击finish
新建的项目只有src一个源码目录,我们可以按maven的目录结构加上src/main/java,然后知道java这一层目录是源码根目录
步骤是右上角的方块(或ctrl+alt+shift+s) -> Modules -> Sources
mod4.png
在java目录下新建一个名为"org.codefx.demo.jpms"的包名,注意这里只有一个包名,不是四个包,默认情况下带"."的包命名idea会拆分几个包名,所以可以找到项目的文件夹,在文件夹里用新建文件夹的方式创建; 然后在这个目录下新建java类文件,HelloModularWorld并添加main方法,打印hello world;
mod5.png

在src/main/java目录下 创建module-info.java文件;


mod6.png

完整的项目结构如下


mod7.png

可能遇到的问题:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module xxx.xxx.xx
这个问题是由于编译后没有module-info.class文件导致;可以尝试重新构建,或者另外新建一个项目写同样的module-info.java,编译好后拷贝一个到out/production/{项目名}/ 目录下就可以解决;

也可能会提示无法编译错误,这个时候需要确认后idea使用类编译项目的jdk版本
File-> Setting -> Build,Execution.... ->Compiler ->Java Compiler 在这里确认项目在编译时使用的jdk版本;

参考 https://blog.codefx.org/java/java-module-system-tutorial/

上一篇 下一篇

猜你喜欢

热点阅读