• IDEA点击RUN后后台到底执行了什么操作


    1,序

    2,执行的操作

    2.1 控制台输出执行的命令

    点击RUN,控制台输出以下信息,是java的执行命令操作。

    D:\jdk8\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.profiles.active=dev -Dspring.output.ansi.enabled=always -Ddruid.mysql.usePingMethod=false "-javaagent:D:\IntelliJ IDEA 2020.3.2\lib\idea_rt.jar=63881:D:\IntelliJ IDEA 2020.3.2\bin" -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 
    -classpath ...; D:\zcadmin-master\bigscreen-manager\target\classes;
    D:\zcadmin-master\asset-manager\target\classes;
    D:\zcadmin-master\device-manager\target\classes;
    D:\zcadmin-master\zcadmin-system\target\classes;
    D:\zcadmin-master\zcadmin-tools\target\classes;
    D:\zcadmin-master\zcadmin-generator\target\classes;
    ...; 
    D:\zcadmin-master\data-manager\target\classes;
    D:\zcadmin-master\zcadmin-notify\target\classes;
    D:\zcadmin-master\zcadmin-common\target\classes;
    D:\zcadmin-master\zcadmin-logging\target\classes;
    D:\zcadmin-master\zcadmin-oa\target\classes;
    ...;
    com.leobit.AppRun
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    逐个分析上述命令行启动参数,其中包含了多个参数和类路径:

    1. D:\jdk8\bin\java.exe:这是 Java 程序的执行命令,指定了 Java 运行时环境的路径。
    2. -XX:TieredStopAtLevel=1:这是一个 JVM 参数,用于控制垃圾回收的级别。
    3. -noverify:这是一个 JVM 参数,用于关闭类文件的验证功能。
    4. -Dspring.profiles.active=dev:这是一个系统属性参数,用于指定 Spring 框架的运行环境。
    5. -Dspring.output.ansi.enabled=always:这是一个系统属性参数,用于控制 Spring 框架的输出是否使用 ANSI 颜色。
    6. -Ddruid.mysql.usePingMethod=false:这是一个系统属性参数,用于控制 Druid 数据库连接池是否使用 ping 方法。
    7. -javaagent:D:\IntelliJ IDEA 2020.3.2\lib\idea_rt.jar=63881:D:\IntelliJ IDEA 2020.3.2\bin:这是一个参数,用于指定 IntelliJ IDEA 的 JAR 文件,以便在程序运行时注入代码覆盖率工具。
    8. -Dcom.sun.management.jmxremote:这是一个系统属性参数,用于启用 JMX 远程管理功能。
    9. -Dspring.jmx.enabled=true:这是一个系统属性参数,用于启用 Spring 的 JMX 支持。
    10. -Dspring.liveBeansView.mbeanDomain:这是一个系统属性参数,用于指定 Spring Live Beans View 的 MBean 域名。
    11. -Dspring.application.admin.enabled=true:这是一个系统属性参数,用于启用 Spring 应用程序管理员功能。
    12. -Dfile.encoding=UTF-8:这是一个系统属性参数,用于指定文件的编码。
      这个命令行参数用于启动一个 Java 程序,并指定了程序运行所需的环境和参数。其中包含了多个与 Spring 框架和 IntelliJ IDEA 相关的参数,用于配置和优化程序的运行环境。
    13. -classpath...;:这是类路径参数,用于指定 Java 程序所在的类路径。在这个例子中,有多个类路径,它们之间用分号隔开。这些类路径包含了项目的各类库文件和源代码文件。
    14. com.leobit.AppRun:这是 Java 程序的入口点,即程序的主类。
      这个命令行参数用于启动一个 Java 程序,并指定了程序运行所需的环境和参数。

    能够看出使用了java-classpath命令。

    2.2 -classpath环境变量命令释义

    -classpath 是用于指定 Java 虚拟机在运行 Java 程序时查找类文件的路径的命令。它可以用于指定一个或多个包含类文件的目录或 JAR 文件。

    以下是如何使用 -classpath 命令:

    1. 指定单个目录

      如果你的类文件都存放在一个目录下,可以使用以下命令:

     java -classpath /path/to/your/classes YourMainClass
    
    • 1

    这将告诉 Java 虚拟机在 /path/to/your/classes 目录下查找类文件。

    1. 指定多个目录

      如果你的类文件分布在多个目录下,你可以使用冒号 :(在 Windows 下是分号 ;)来分隔目录:

      java -classpath /path/to/your/classes:/path/to/another/classes YourMainClass
      
      • 1

      这将使得 Java 虚拟机在两个目录下都查找类文件。

    2. 指定 JAR 文件

      如果你的类文件被打包成了一个 JAR 文件,你可以直接指定该 JAR 文件:

      java -classpath /path/to/your/yourJarFile.jar YourMainClass
      
      • 1
    3. 在编译时使用 -classpath

      在使用 javac 编译 Java 源代码时,你也可以使用 -classpath 来指定编译器在哪里查找依赖的类文件:

      javac -classpath /path/to/your/classes YourSourceFile.java
      
      • 1
    4. 使用类路径缩写 .

      如果你希望在当前目录下查找类文件,你可以使用 . 表示当前目录:

      java -classpath . YourMainClass
      
      • 1
    5. 在 MANIFEST.MF 文件中指定类路径

      如果你的 JAR 文件包含了 MANIFEST.MF 文件,并且该文件指定了 Class-Path 属性,Java 虚拟机将会使用该属性中指定的类路径

      例如:

      Class-Path: lib/library.jar lib/other.jar
      
      • 1

      这将使得 Java 虚拟机在 lib 目录下查找 library.jarother.jar

    注意:

    • 如果你没有指定 -classpath,Java 将会使用默认的类路径,通常包括当前目录(.)以及 Java 安装目录中的一些库。
    • 如果你使用 IDE 来运行 Java 程序,通常可以在项目的配置中设置类路径,而不需要手动指定 -classpath
  • 相关阅读:
    前端调试只会console.log()?
    为什么选择clickhouse?
    CNN发展的主要tag
    Spring Web Flow 2 中流管理的持久化
    web服务之https超文本传输安全协议
    AI神经网络流水线MLOps machine learning pipline eBay和北美等公司的落地 QCon 大会2022
    Open-source software (OSS)
    点信息标注_BillboardTextActor3D
    清华操作系统笔记4——虚拟内存技术
    5-1.Binding的方向、数据更新和Path
  • 原文地址:https://blog.csdn.net/qq_40657528/article/details/132799976