前言:
目前咱们对“javac 指定lib”大约比较珍视,咱们都想要剖析一些“javac 指定lib”的相关资讯。那么小编也在网摘上汇集了一些对于“javac 指定lib””的相关内容,希望姐妹们能喜欢,兄弟们一起来了解一下吧!打包模块代码
我们将模块的编译代码打包成一个模块化的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
标签: #javac 指定lib