Java 9 模块系统 - 菜鸟教程
文章推薦指數: 80 %
工件的格式可以是传统的JAR 文件或是Java 9 新增的JMOD 文件。
这个文件由根目录中的源代码文件module-info.java 编译而来。
该模块声明文件可以描述模块的不同特征。
菜鸟教程--学的不仅是技术,更是梦想!
首页
HTML
CSS
JavaScript
Vue
Bootstrap
NodeJS
Python3
Python2
Java
C
C++
C#
Go
SQL
Linux
jQuery
本地书签
首页
HTML
CSS
JS
本地书签
Search
Python3教程
Python2教程
Vue3教程
vue2教程
Bootstrap3教程
Bootstrap4教程
Bootstrap5教程
Bootstrap2教程
Java教程
Java教程
Java简介
Java开发环境配置
Java基础语法
Java对象和类
Java基本数据类型
Java变量类型
Java修饰符
Java运算符
Java循环结构
Java条件语句
Javaswitchcase
JavaNumber&Math类
JavaCharacter类
JavaString类
JavaStringBuffer
Java数组
Java日期时间
Java正则表达式
Java方法
JavaStream、File、IO
JavaScanner类
Java异常处理
Java面向对象
Java继承
JavaOverride/Overload
Java多态
Java抽象类
Java封装
Java接口
Java枚举
Java包(package)
Java高级教程
Java数据结构
Java集合框架
JavaArrayList
JavaLinkedList
JavaHashSet
JavaHashMap
JavaIterator
JavaObject
Java泛型
Java序列化
Java网络编程
Java发送邮件
Java多线程编程
JavaApplet基础
Java文档注释
Java实例
Java8新特性
JavaMySQL连接
Java9新特性
Java测验
Java9新特性
Java9REPL(JShell)
Java9模块系统
Java9新特性
Java9最大的变化之一是引入了模块系统(Jigsaw项目)。
模块就是代码和数据的封装体。
模块的代码被组织成多个包,每个包中包含Java类和接口;模块的数据则包括资源文件和其他静态信息。
Java9模块的重要特征是在其工件(artifact)的根目录中包含了一个描述模块的module-info.class文件。
工件的格式可以是传统的JAR文件或是Java9新增的JMOD文件。
这个文件由根目录中的源代码文件module-info.java编译而来。
该模块声明文件可以描述模块的不同特征。
在module-info.java文件中,我们可以用新的关键词module来声明一个模块,如下所示。
下面给出了一个模块com.mycompany.mymodule的最基本的模块声明。
modulecom.runoob.mymodule{
}
创建模块
接下来我们创建一个com.runoob.greetings的模块。
第一步
创建文件夹C:\>JAVA\src,然后在该目录下再创建与模块名相同的文件夹com.runoob.greetings。
第二步
在C:\>JAVA\src\com.runoob.greetings目录下创建module-info.java文件,代码如下:
modulecom.runoob.greetings{}
module-info.java用于创建模块。
这一步我们创建了com.runoob.greetings模块。
第三步
在模块中添加源代码文件,在目录C:\>JAVA\src\com.runoob.greetings\com\runoob\greetings中创建文件Java9Tester.java,代码如下:
packagecom.runoob.greetings;
publicclassJava9Tester{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld!");
}
}
第四步
创建文件夹C:\>JAVA\mods,然后在该目录下创建com.runoob.greetings文件夹,编译模块到这个目录下:
C:/>JAVA>javac-dmods/com.runoob.greetings
src/com.runoob.greetings/module-info.java
src/com.runoob.greetings/com/runoob/greetings/Java9Tester.java
第五步
执行模块,查看输出结果:
C:/>JAVA>java--module-pathmods-mcom.runoob.greetings/com.runoob.greetings.Java9Tester
HelloWorld!
module-path指定了模块所在的路径。
-m指定主要模块。
Java9新特性
Java9新特性
Java9REPL(JShell)
点我分享笔记
取消
分享笔记
昵称昵称(必填)
邮箱邮箱(必填)
引用地址引用地址
分类导航
HTML/CSSHTML教程HTML5教程CSS教程CSS3教程Bootstrap3教程Bootstrap4教程Bootstrap5教程FontAwesome教程Foundation教程JavaScriptJavaScript教程HTMLDOM教程jQuery教程AngularJS教程AngularJS2教程Vue.js教程Vue3教程React教程TypeScript教程jQueryUI教程jQueryEasyUI教程Node.js教程AJAX教程JSON教程Echarts教程Highcharts教程Google地图教程服务端Python教程Python2.x教程Linux教程Docker教程Ruby教程Java教程C教程C++教程Perl教程Servlet教程JSP教程Lua教程Rust教程Scala教程Go教程PHP教程数据结构与算法Django教程Zookeeper教程设计模式正则表达式Maven教程Verilog教程ASP教程AppML教程VBScript教程数据库SQL教程MySQL教程PostgreSQL教程SQLite教程MongoDB教程Redis教程Memcached教程数据分析Python教程NumPy教程Pandas教程Matplotlib教程Scipy教程R教程Julia教程移动端Android教程Swift教程jQueryMobile教程ionic教程Kotlin教程XML教程XML教程DTD教程XMLDOM教程XSLT教程XPath教程XQuery教程XLink教程XPointer教程XMLSchema教程XSL-FO教程SVG教程ASP.NETASP.NET教程C#教程WebPages教程Razor教程MVC教程WebForms教程WebServiceWebService教程WSDL教程SOAP教程RSS教程RDF教程开发工具Eclipse教程Git教程Svn教程Markdown教程网站建设HTTP教程网站建设指南浏览器信息网站主机教程TCP/IP教程W3C教程网站品质
Advertisement
反馈/建议
在线实例
·HTML实例
·CSS实例
·JavaScript实例
·Ajax实例
·jQuery实例
·XML实例
·Java实例
字符集&工具
·HTML字符集设置
·HTMLASCII字符集
·JS混淆/加密
·PNG/JPEG图片压缩
·HTML拾色器
·JSON格式化工具
·随机数生成器
最新更新
·
JavaScript获取...
·
JavaScript实现...
·
HTMLDOMstyle...
·
HTMLDOMscroll...
·
HTMLDOMscroll...
·
HTMLDOMscroll...
·
Dockerstats命令
站点信息
·
意见反馈
·
免责声明
·
关于我们
·
文章归档
关注微信
Copyright©2013-2022菜鸟教程
runoob.comAllRightsReserved.备案号:闽ICP备15012807号-1
微信关注
延伸文章資訊
- 1理解Java 9 的模組. 模組是什麼及什麼時候要使用它們 - Medium
本文中,我將介紹Java 9 Platform Module System (JPMS) [譯註:這專案名稱就不翻譯了,翻成中文也沒什麼意思],自Java 出現以來,最重要的新軟體工程 ...
- 2java9學習筆記之模組化詳解 - 程式前沿
讓Java的SE程式更加容易輕量級部署改進元件間的依賴管理,引入比Jar粒度更大的Module 改進效能和安全性如果用更加簡單解釋,那就是”解決Classpath地獄 ...
- 3Java模組化 - 恆逸教育訓練中心
Java 5新增加強型迴圈、Annotation與Generic,Java 8新增的Lambda,都讓Java程式設計語言產生很大的變化。Java 9新增的模組化,雖然對程式設計語言本身並 ...
- 4Java 9 揭祕(3. 建立你的第一個模組) - 程式人生
到目前,NetBeans IDE仍在開發中,並且不支援所有JDK 9功能。 例如,目前需要NetBeans為建立的每個模組建立一個新的Java專案。 在最終版本中,NetBeans將 ...
- 5遷移!往Java 9前進!
修改 java.base 的module-info顯然不是可行的方式,在Oracle JDK中提供了一個非標準引數 --add-exports , 可用來放寬(或說是破壞)模組封裝,例如,可以在...