Java编译和运行的命令

1.3 Java编译和运行的命令



1.3.1 Java编译和运行的基础概念

  1. 源代码文件(.java)

    • 这是你写的Java代码,文件扩展名是.java
  2. 字节码文件(.class)

    • 这是经过编译后的文件,Java虚拟机(JVM)可以理解和执行的代码,文件扩展名是.class

1.3.2 基本步骤

1. 编译Java代码

编译的意思是把你写的源代码转换成JVM可以理解的字节码。使用javac命令来完成这个步骤。

  • 假设你有一个文件叫HelloWorld.java,里面写着:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
    
  • 要编译这个文件,你需要在命令行(或终端)中输入:

    javac HelloWorld.java
    

    执行完这条命令后,目录中会生成一个HelloWorld.class文件。

2. 运行编译后的代码

运行的意思是让JVM执行编译好的字节码。使用java命令来完成这个步骤。

  • 继续上面的例子,编译之后,我们得到了HelloWorld.class文件。

  • 现在,在命令行中输入:

    java HelloWorld
    

    这时,屏幕上会显示:

    Hello, World!
    

1.3.3 详细解释

  • javac HelloWorld.java

    • javac是Java编译器,它读取你写的Java源代码并检查语法错误。如果一切正常,它会生成一个或多个.class文件。
    • HelloWorld.java是你要编译的源文件。
  • java HelloWorld

    • java是Java的运行时命令,它启动JVM并执行指定的字节码。
    • HelloWorld是你要运行的类的名字,不需要加.class

1.3.4 常见问题

  1. 文件名和类名必须一致
  • 在Java中,公共类的名字必须和文件名一致。例如,如果类名是HelloWorld,文件名必须是HelloWorld.java
  1. 编译错误
  • 如果在编译过程中出现错误,javac会告诉你在哪行代码有问题以及是什么问题。你需要修正错误,然后重新编译。
  1. 类路径(classpath)

    • 有时,你的程序需要用到其他的库或类文件。你可以使用-cp选项来指定这些库或类文件的位置。例如:

      javac -cp someLibrary.jar HelloWorld.java
      java -cp someLibrary.jar:. HelloWorld
      

1.3.5 常用Java命令

  • javac

javac命令用于将Java源代码编译成Java字节码文件(.class文件),以便在Java虚拟机(JVM)上运行。

基本语法

javac [options] source_file(s)

使用示例

javac HelloWorld.java

参数说明

  • options:javac命令提供了多个选项来控制编译过程和生成的字节码文件的行为。可以使用javac -help查看所有选项及其说明。

  • source_file(s):指定要编译的源代码文件的路径。可以使用通配符(*)来编译整个文件夹中的所有Java文件。例如,javac *.java会同时编译当前目录中的所有Java文件。

常见选项

  • -d directory:指定编译生成的.class文件的输出目录。

  • -classpath path:指定可供编译器使用的类路径。

  • -source version:指定要编译的Java源代码的版本(例如,-source 8表示使用Java 8的语言功能进行编译)。

  • -target version:指定要生成的字节码文件的Java版本(例如,-target 1.8表示要生成适用于Java 8的字节码文件)。

  • -Xlint:启用编译器警告消息。

  • -verbose:显示编译器的详细输出信息。

javac命令是编写和编译Java代码的必备工具之一。掌握其用法可以帮助开发人员更好地进行Java开发和调试。

  • java

java命令用于启动Java虚拟机并执行Java程序。使用java命令可以在命令行中直接运行编译后的Java程序。

基本语法

java [options] class [args...]

使用示例

java HelloWorld

参数说明

  • options:Java命令提供了多个选项来控制Java虚拟机和应用程序的行为。可以使用java -help查看所有选项及其说明。

  • class:要运行的Java类名。

  • args…:传递给主方法的参数。这些参数将作为字符串数组传递给main()方法。

常见选项

  • -classpath path:指定Java虚拟机应该搜索类文件的路径。与javac编译器选项-cp相同。

  • -Xmx size:指定堆大小的最大值,以字节为单位。例如,-Xmx1024m表示堆大小的最大值为1024 MB。

  • -Xms size:指定初始堆大小,以字节为单位。

  • -version:查看Java版本信息。

  • -jar file:执行指定的JAR文件。

  • -Dproperty=value:设置系统属性。例如,-Djava.awt.headless=true表示启用无头模式。

java命令是Java开发和调试的重要工具之一。熟练掌握其用法可以帮助开发人员更好地编写和运行Java程序。

  • jar

jar命令用于创建和管理JAR格式的归档文件,也可以用于解压缩包和对JAR文件进行签名等操作。

基本语法

jar [options] archive_file file(s)

使用示例

jar cf myJar.jar *.class

参数说明

  • options:jar命令提供了多个选项来控制生成的JAR文件的内容和行为。可以使用jar -help查看所有选项及其说明。

  • archive_file:生成的JAR文件的名称。

  • file(s):需要添加到JAR文件中的文件或目录列表。

常见选项

  • c:表示新建一个JAR文件。

  • f:指定JAR文件的文件名以及可选路径

  • v:输出生成过程中处理的文件列表。

  • m:表示需要保留manifest文件。

  • x:从JAR文件中提取指定的文件。

  • t:列出JAR文件中存储的文件。

  • u: 更新现有的JAR文件中的文件。

  • i:为已有的JAR文件创建索引文件

使用jar命令还可以对JAR文件进行签名,以提高应用程序的安全性,防止被篡改。此外,在发布Java程序时,将代码打包成一个JAR文件也是很常见的做法,以便简化部署和分发过程。

jar命令是Java开发和部署的重要工具之一。熟练掌握其用法可以帮助开发人员更好地管理JAR文件和Java程序的部署。

posted @ 2024-08-02 09:05  青城山下写代码1010  阅读(1)  评论(0编辑  收藏  举报