网站首页 > java教程 正文
打包模块代码
我们将模块的编译代码打包成一个模块化的JAR。 需要使用位于JDK_HOME\bin目录中的jar工具。注意, 该命令在一行中输入,命令的最后一部分是一个点,表示当前目录。
C:\Java9Revealed>jar --create --file lib/com.jdojo.intro-1.0.jar --main-class com.jdojo.intro.Welcome--module-version 1.0 -C mods/com.jdojo.intro .
这个命令有如下选项:
--create选项表示要创建一个新的模块化JAR。
--file选项用于指定JAR的位置和名称。将新的JAR保存在lib目录中,其名称将为com.jdojo.intro-1.0.jar。我将JAR包的版本1.0包含在名称中。
--main-class选项指定public static void main(String[])方法作为应用程序入口。当您指定此选项时,jar工具将在module-info.class文件中添加一个属性,其值是指定类的名称。 jar工具还使用此选项将Main-Class属性添加到MANIFEST.MF文件中。
--module-version选项将模块的版本指定为1.0。 jar工具将把这些信息记录在module-info.class文件的属性中。请注意,将模块版本指定为1.0不会影响JAR的名称。即使名称中包含1.0以指示的版本。该模块的实际版本由此选项指定。
-C选项用于指定JAR命令的工作目录。将mods\com.jdojo.intro目录指定为jar工具的工作目录。这将使jar工具从该目录中读取需要包含在JAR中的文件。
命令的最后一部分是一个点(.),这意味着jar工具需要包含工作目录mods\com.jdojo.intro下所有文件和目录。请注意,这个参数和-C选项一起使用。如果不提供-C选项,则该点将被解释为C:\Java9Revealed目录,因为该目录是当前命令行运行的目录。
当命令成功运行,它创建以下文件:
C:\Java9Revealed\lib\com.jdojo.intro-1.0.jar
要确保你的JAR包含com.jdojo.intro模块的定义,请运行以下命令。
C:\Java9Revealed>java --module-path lib --list-modules com.jdojo.intro
该命令将模块路径指定为lib目录,这意味着lib目录将用于搜索应用程序模块。 将com.jdojo.intro作为模块名称传递给--list-modules选项,该选项将打印模块描述以及模块的位置。 如果获得类似于以下内容的输出,则模块化JAR已正确创建:
C:\Java9Revealed>java --module-path lib --list-modules com.jdojo.intro
java.activation@9.0.4
java.base@9.0.4
java.compiler@9.0.4
java.corba@9.0.4
java.datatransfer@9.0.4
java.desktop@9.0.4
java.instrument@9.0.4
java.jnlp@9.0.4
java.logging@9.0.4
java.management@9.0.4
java.management.rmi@9.0.4
java.naming@9.0.4
java.prefs@9.0.4
java.rmi@9.0.4
java.scripting@9.0.4
java.se@9.0.4
java.se.ee@9.0.4
java.security.jgss@9.0.4
java.security.sasl@9.0.4
java.smartcardio@9.0.4
java.sql@9.0.4
java.sql.rowset@9.0.4
java.transaction@9.0.4
java.xml@9.0.4
java.xml.bind@9.0.4
java.xml.crypto@9.0.4
java.xml.ws@9.0.4
java.xml.ws.annotation@9.0.4
javafx.base@9.0.4
javafx.controls@9.0.4
javafx.deploy@9.0.4
javafx.fxml@9.0.4
javafx.graphics@9.0.4
javafx.media@9.0.4
javafx.swing@9.0.4
javafx.web@9.0.4
jdk.accessibility@9.0.4
jdk.attach@9.0.4
jdk.charsets@9.0.4
jdk.compiler@9.0.4
jdk.crypto.cryptoki@9.0.4
jdk.crypto.ec@9.0.4
jdk.crypto.mscapi@9.0.4
jdk.deploy@9.0.4
jdk.deploy.controlpanel@9.0.4
jdk.dynalink@9.0.4
jdk.editpad@9.0.4
jdk.hotspot.agent@9.0.4
jdk.httpserver@9.0.4
jdk.incubator.httpclient@9.0.4
jdk.internal.ed@9.0.4
jdk.internal.jvmstat@9.0.4
jdk.internal.le@9.0.4
jdk.internal.opt@9.0.4
jdk.internal.vm.ci@9.0.4
jdk.jartool@9.0.4
jdk.javadoc@9.0.4
jdk.javaws@9.0.4
jdk.jcmd@9.0.4
jdk.jconsole@9.0.4
jdk.jdeps@9.0.4
jdk.jdi@9.0.4
jdk.jdwp.agent@9.0.4
jdk.jfr@9.0.4
jdk.jlink@9.0.4
jdk.jshell@9.0.4
jdk.jsobject@9.0.4
jdk.jstatd@9.0.4
jdk.localedata@9.0.4
jdk.management@9.0.4
jdk.management.agent@9.0.4
jdk.management.cmm@9.0.4
jdk.management.jfr@9.0.4
jdk.management.resource@9.0.4
jdk.naming.dns@9.0.4
jdk.naming.rmi@9.0.4
jdk.net@9.0.4
jdk.pack@9.0.4
jdk.packager@9.0.4
jdk.packager.services@9.0.4
jdk.plugin@9.0.4
jdk.plugin.dom@9.0.4
jdk.plugin.server@9.0.4
jdk.policytool@9.0.4
jdk.rmic@9.0.4
jdk.scripting.nashorn@9.0.4
jdk.scripting.nashorn.shell@9.0.4
jdk.sctp@9.0.4
jdk.security.auth@9.0.4
jdk.security.jgss@9.0.4
jdk.snmp@9.0.4
jdk.unsupported@9.0.4
jdk.xml.bind@9.0.4
jdk.xml.dom@9.0.4
jdk.xml.ws@9.0.4
jdk.zipfs@9.0.4
oracle.desktop@9.0.4
oracle.net@9.0.4
com.jdojo.intro@1.0 file:///C:/Java9Revealed/lib/com.jdojo.intro-1.0.jar
猜你喜欢
- 2024-10-18 Java入门教程六(内置包装类)(javaint包装类)
- 2024-10-18 Java 9揭秘-创建你的第一个模块(二)
- 2024-10-18 【推荐】IntelliJ IDEA 使用系列教程(6)-IDEA 创建 Java 项目
- 2024-10-18 MyBatis——MyBatis开发流程(mybatis的开发环境怎么搭建)
- 2024-10-18 java+上传整个文件夹的所有文件(java中文件上传)
- 2024-10-18 Java 如何获得一个文件或文件夹的大小
- 2024-10-18 JAVA+上传整个文件夹的所有文件(java实现上传文件夹)
- 2024-10-18 Java SE基础教程——Eclipse开发工具的安装与使用
- 2024-10-18 一起学Java-06-创建Maven项目(推荐)
- 2024-10-18 怎么在 eclipse 中创建 Java 项目呢?
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)