(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 (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|