• 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
  • 相关阅读:
    【工具】Sublime配置Anaconda的Python环境的简单方法
    java里面获取map的key和value的方法
    单目标应用:粒子群优化算法(PSO)求解微电网优化MATLAB
    具备什么价值的安全数据交换系统,是企业真正需要的?
    Linux进程补充
    初识form表单
    JS - 以工厂模式和原型模式方式建造对象、JS的垃级回收机制、数组的使用
    单例设计模式常见的七种写法
    SpringSecurity - 密码加密
    高效能人士的秘诀:明确规划,做好时间管理
  • 原文地址:https://blog.csdn.net/qq_40657528/article/details/132799976