(2) 清单2 HelloModularWorld类
- package org.michael.demo.jpms;
- public class HelloModularWorld {
- public static void main(String[] args) {
- System.out.println("Hello World, new modular World!");
- }
- }
为了实现模块化,必要在工程的根目次下建设一个名为module-info.Java的类,内容如清单3所示:
(3) 清单3 module-info.Java源码
- module org. michael.demo.jpms_hello_world {
- // this module only needs types from the base module 'Java.base';
- // because every Java module needs 'Java.base', it is not necessary
- // to explicitly require it - I do it nonetheless for demo purposes
- requires Java.base;
- // this export makes little sense for the application,
- // but once again, I do this for demo purposes
- exports org.michael.demo.jpms;
- }
如代码清单3所示,引用了Java.base,输出至org.michael.demo.jpms包。接下来开始编译,如清单4所示。
(4) 清单4 编译模块化体系
- $ Javac
- -d target/classes
- ${source-files}
- $ jar --create
- --file target/jpms-hello-world.jar
- --main-class org.michael.demo.jpms.HelloModularWorld
- -C target/classes .
- $ Java
- --module-path target/jpms-hello-world.jar
- --module org. michael.demo.jpms_hello_world
就这个简朴的示例来看,除了增进了一个文件、编译时的不同替代为行使模块路径方法(module path),以及工程没有了manifest文件以外,其他和Java9之前的编程/编译方法是一样。
三、竣事语
本文首要先容了什么是Java9模块化编程。起首从Java9为什么迟迟不能宣布提及,然后引申出什么是模块化编程,接着体系性地先容模块化编程的体系方针、特点、要求,再通过JDK的模块化案例先容,让读者可以或许相识JDK的成长趋势。最后,通过一个HelloWorld实例让读者可以或许深入浅出地相识Java模块化编程。下一篇文章我会先容模块化对应的处事和模式。
【51CTO原创稿件,相助站点转载请注明原文作者和出处为51CTO.com】
【本文为51CTO专栏作者“周明耀”原创稿件,转载请接洽原作者】
戳这里,看该作者更多好文
【编辑保举】
- 外媒速递:关于C++中的元编程机制
- 深入领略多线程(三)—— Java的工具头
- Java开拓必需把握的8种网站攻防技能
- Java工具的序列化与反序列化
- 你真的觉得你相识Java的序列化了吗?
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|