五五面试网-带你 理解 java 模块系统 (三) 手动新建一个java模块|知识点总结|知识点总结|五五面试教程网
首页 知识点总结 五五面试网-带你 理解 java 模块系统 (三) 手动新建一个java模块

五五面试网-带你 理解 java 模块系统 (三) 手动新建一个java模块

发布:09-18 查看:7932 分类:知识点总结

前提我们需要java版本为java 9 ,最好是java 14

1.新建一个类

首先创建一个类MainShi55,   包名为 chigua  ,结构如下:

55MianShi.Com #cat chigua/MianShi55.java 

package chigua;

public class MianShi55 {

    public static void main(String[] args) {

        System.out.println("Hello 55mianshi.com  55面试网");

    }

}

在前模块化时代,使用    jar 命令,打包为jar包,即可打包使用。

在后模块时代,moduel 模块才是 java世界的一等公民,直接使用jar 回显得无组织无纪律。

2.打包为一个模块

2.1编写模块声明文件

55MianShi.Com #cat module-info.java 

module chigua.mianshiff{

}

编译代码

55MianShi.Com #javac -version

javac 14.0.2

55MianShi.Com #java -version 

java version "14.0.2" 2020-07-14

Java(TM) SE Runtime Environment (build 14.0.2+12-46)

Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

#编译

55MianShi.Com # javac module-info.java chigua/MianShi55.java

打包为模块,如下命令,其中-class-path 指定类路径,最后一个参数为模块文件,可以随意命名。

jmod create -class-path .  mods/chigua.mianshiff.jmod
##jmod create -class-path java类文件根路径  模块文件名,一般已jmods结尾
##--main-class 参数可指定主类

3.引入一个java模块

前模块时代,将一个jar包加入classpath 即可引用其中的类,如何引用一个模块中的类,代码如下:

java  -m 参数指定要要运行的模块和类名   

java -m 模块:类名

java -p 模块所在路径

 

#先打印模块列表,检查模块是否被加载

xiaolong@localhost chigua % java --list-modules -p ./mods                    

java.base@14.0.2

java.compiler@14.0.2

...

...

jdk.xml.dom@14.0.2

jdk.zipfs@14.0.2

chigua.mianshiff 

 

#运行模块的类

55mianshi@localhost chigua % java -p ./  -m chigua.mianshiff/chigua.MianShi55 

Hello 55mianshi.com  55面试网

 

如果jmod  create 创建的时候,增加参数   --main-class  指定主类,模块运行的时候直接提供模块名即可。

今日格言

热门内容

IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年)通过开源项目,免费获取Idea的开源授权Spring + MyBatis 框架下处理数据库异常gradle:现代高效的java构建工具Java中的TreeMap五五面试网-带你 理解 java 模块系统 (三) 手动新建一个java模块五五面试网-带你 理解 java 模块系统 (二) 五五面试网-带你 理解 java 模块系统 (一)Java 11 模块化入门教程Java 11 中 HttpClient 的使用(HTTP/2协议)

面试新闻

拼多多助力红包活动终极攻略把用户当猴耍得公司,不会有好下场!高性能苹果自研 M1 芯片跑分创历史新高10 月抖音及 TikTok 下载量位列全球移动应用(非游戏)下载榜冠军

代码之余

拥有一副令人羡慕的好身材是种怎样的体验?学习 Spring 中 Bean 的 加载流程微信已支持发送高清视频和图片 网友:QQ可以卸载了?华为!我们中国的骄傲!鸿蒙OS升级名单确认,覆盖42款机型庐山现入冬首场瀑布云,为冬日匡庐带来生机无语!印度教徒趴地让200多头牛踩,以祈求好运超四成年轻女性不结婚、不恋爱!拜登任命托尼·布林肯为美国国务卿证实确实在外找XX,我竟然觉得舒坦了这就是大专和本科得差距

热门内容

IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年)通过开源项目,免费获取Idea的开源授权Spring + MyBatis 框架下处理数据库异常gradle:现代高效的java构建工具Java中的TreeMap五五面试网-带你 理解 java 模块系统 (三) 手动新建一个java模块五五面试网-带你 理解 java 模块系统 (二) 五五面试网-带你 理解 java 模块系统 (一)Java 11 模块化入门教程Java 11 中 HttpClient 的使用(HTTP/2协议)

热门教程

教程 [马上学习] 面试TOP100 [马上学习] GO语言经典教程 [马上学习] 缓存服务器 [马上学习] HTML 技术教程 [马上学习] CSS 技术教程 [马上学习] JavaScript 技术教程 [马上学习] jQuery 技术教程 [马上学习] Node.js 技术教程 [马上学习] Python 技术教程 [马上学习] Linux 技术教程 [马上学习] Java 技术教程 [马上学习] Go 技术教程 [马上学习] PHP 技术教程 [马上学习] Mysql 技术教程 [马上学习] MongoDB 技术教程 [马上学习] Redis 技术教程 [马上学习] Kotlin 技术教程 [马上学习] 容器技术 [马上学习]

面试题TOP100系列

MYSQL面试题 TOP100 [马上学习] PHP 开发面试题TOP100 [马上学习] JAVA 面试题 TOP100 [马上学习] 计算机网络面试题TOP100 [马上学习]