美文网首页
java模块化 一

java模块化 一

作者: 何德何能者 | 来源:发表于2019-08-05 16:29 被阅读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/

相关文章

  • Java9初探(二)

    再谈Java9模块化 在之前已经提到了作为java9最重要的特性就是模块化。有了模块化java9变得更轻量级。在编...

  • java模块化 一

    学习java模块化的第一个程序,hello world!用idea建个java程序 选择jdk版本,模块化是jdk...

  • JAVA9模块化详解(一)——模块化的定义

    JAVA9模块化详解(一)——模块化的定义 前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一...

  • 模块化实现(好处,原因)

    那么什么是模块化呢?《 Java 应用架构设计:模块化模式与 OSGi 》一书中对它的定义是:模块化是一种处理复杂...

  • java9 模块化系统小试

    JPMS 全称是 Java Platform Module system(Java 平台模块化系统)。它的目的简单...

  • java9 模块化初体验

    java9发布有一段时间了,模块化是java9的一个重要新特性。今天有时间,就体验一把java9的模块化功能。 创...

  • 🍎 Java11实战:模块化的 Netty RPC 服务项目

    从 Java9 就引入了模块化的新语法了。如果我们想在项目中使用 Java9 及以上的版本的话,模块化是无法忽视的...

  • JAVA9 初探(三)

    java9发布以来一直备受关注的是带来最大变化的模块化。模块化可以说是java9的核心思想。前面也大概介绍了jav...

  • 虚拟机类加载机制【Java模块化系统】

    在JDK9中引入的Java模块化系统(Java Platform Module System,JPMS)是对Jav...

  • Java9-Modularity 初探

    java9原定2017年3月推出,由于模块化有问题延迟到7月份,后来又推迟到9月份。万众期待的java9由于模块化...

网友评论

      本文标题:java模块化 一

      本文链接:https://www.haomeiwen.com/subject/ccpmdctx.html