• 【笔记】Java - VM options、Program arguments、Environment variables、eclipse variables


    java使用ide开发的时候,运行程序(application)前都要设置启动配置: VM options、Program arguments、Environment variables

    在这里插入图片描述 在这里插入图片描述

    很多时候我们是默认配置启动的,所以没太注意。但是如果我们有特殊需求、项目上线时,这些配置就需要特别关注了。

    下面看看这三个东西分别怎么搞:

    虚拟机选项 VM options

    可以分为三类:

    1. 标准参数(-): 全部的JVM实现都必须实现这些参数的功能,并且向后兼容;
    2. 非标准参数(-X): 默认JVM实现这些参数的功能,可是并不保证全部JVM实现都知足,且不保证向后兼容;
    3. 非Stable参数(-XX),此类参数各个JVM实现会有所不一样,未来可能会随时取消,须要慎重使用;
    # 标准参数 -

    全部的JVM实现都必须实现这些参数的功能,并且向后兼容;

    下面命令可以列出所有标准参数:

    $ java
    用法: java [-options] class [args...]
               (执行类)java [-options] -jar jarfile [args...]
               (执行 jar 文件)
    其中选项包括:
        -d32          使用 32 位数据模型 (如果可用)
        -d64          使用 64 位数据模型 (如果可用)
        -server       选择 "server" VM
                      默认 VM 是 server.
    
        -cp <目录和 zip/jar 文件的类搜索路径>
        -classpath <目录和 zip/jar 文件的类搜索路径>; 分隔的目录, JAR 档案
                      和 ZIP 档案列表, 用于搜索类文件。
        -D<名称>=<>
                      设置系统属性
        -verbose:[class|gc|jni]
                      启用详细输出
        -version      输出产品版本并退出
        -version:<>
                      警告: 此功能已过时, 将在
                      未来发行版中删除。
                      需要指定的版本才能运行
        -showversion  输出产品版本并继续
        -jre-restrict-search | -no-jre-restrict-search
                      警告: 此功能已过时, 将在
                      未来发行版中删除。
                      在版本搜索中包括/排除用户专用 JRE
        -? -help      输出此帮助消息
        -X            输出非标准选项的帮助
        -ea[:<packagename>...|:<classname>]
        -enableassertions[:<packagename>...|:<classname>]
                      按指定的粒度启用断言
        -da[:<packagename>...|:<classname>]
        -disableassertions[:<packagename>...|:<classname>]
                      禁用具有指定粒度的断言
        -esa | -enablesystemassertions
                      启用系统断言
        -dsa | -disablesystemassertions
                      禁用系统断言
        -agentlib:<libname>[=<选项>]
                      加载本机代理库 <libname>, 例如 -agentlib:hprof
                      另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
        -agentpath:<pathname>[=<选项>]
                      按完整路径名加载本机代理库
        -javaagent:<jarpath>[=<选项>]
                      加载 Java 编程语言代理, 请参阅 java.lang.instrument
        -splash:<imagepath>
                      使用指定的图像显示启动屏幕
    有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    最经常使用的 -D<名称>=<值> 这个选项,这个选项是设置系统属性(System Property)。

    如测试

    -Dspring.profiles.active=dev
    
    • 1

    设置的系统属性,能够经过 System.getProperty() 得到

    package test;
    
    import java.util.Map.Entry;
    import java.util.Properties;
    
    public class SystemPropertyTest {
    
    	public static void main(String[] args) {
    		Properties properties = System.getProperties();
    		for (Entry<Object, Object> entry : properties.entrySet()) {
    			System.out.println(String.format("%s: %s", entry.getKey(), entry.getValue()));
    		}
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    java.runtime.name: Java(TM) SE Runtime Environment
    sun.boot.library.path: C:\Program Files\Java\jdk1.8.0_301\jre\bin
    java.vm.version: 25.301-b09
    java.vm.vendor: Oracle Corporation
    java.vendor.url: http://java.oracle.com/
    path.separator: ;
    java.vm.name: Java HotSpot(TM) 64-Bit Server VM
    file.encoding.pkg: sun.io
    user.country: CN
    user.script: 
    sun.java.launcher: SUN_STANDARD
    sun.os.patch.level: 
    java.vm.specification.name: Java Virtual Machine Specification
    user.dir: E:\temp1\test
    java.runtime.version: 1.8.0_301-b09
    java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment
    java.endorsed.dirs: C:\Program Files\Java\jdk1.8.0_301\jre\lib\endorsed
    os.arch: amd64
    java.io.tmpdir: C:\Users\LAWSSS~1\AppData\Local\Temp\
    line.separator: 
    
    java.vm.specification.vendor: Oracle Corporation
    user.variant: 
    os.name: Windows 10
    sun.jnu.encoding: GBK
    java.library.path: C:\Program Files\Java\jdk1.8.0_301\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/lawsssscat/Desktop/sts-4.16.1.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20221004-1257/jre/bin/server;C:/Users/lawsssscat/Desktop/sts-4.16.1.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20221004-1257/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Git\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Tencent\微信web开发者工具\dll;C:\Program Files\dotnet\;C:\Program Files\lua;C:\Program Files\luarocks;C:\MinGW\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Ruby31-x64\bin;C:\Ruby24-x64\bin;C:\Users\lawsssscat\AppData\Local\Microsoft\WindowsApps;C:\Program Files\qemu;C:\Users\lawsssscat\AppData\Roaming\npm;C:\Users\lawsssscat\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\ffmpeg\bin;E:\nodejs\node_global;C:\Users\lawsssscat\AppData\Local\GitHubDesktop\bin;C:\Users\lawsssscat\AppData\Local\Programs\Python\Python310;C:\Users\lawsssscat\Desktop\cmder;C:\cmake\bin;C:\bash_extend;F:\bin_java\apache-maven-3.8.6\bin;C:\Program Files\Java\jdk1.8.0_301\bin;F:\bin_db\mysql-8.0.31-winx64\bin;;C:\Users\lawsssscat\Desktop\sts-4.16.1.RELEASE;;.
    java.specification.name: Java Platform API Specification
    java.class.version: 52.0
    sun.management.compiler: HotSpot 64-Bit Tiered Compilers
    os.version: 10.0
    user.home: C:\Users\lawsssscat
    user.timezone: 
    java.awt.printerjob: sun.awt.windows.WPrinterJob
    file.encoding: UTF-8
    java.specification.version: 1.8
    java.class.path: E:\temp1\test\target\classes;C:\Users\lawsssscat\.m2\repository\com\alibaba\fastjson\1.2.83\fastjson-1.2.83.jar;C:\Users\lawsssscat\.m2\repository\org\mybatis\mybatis\3.5.11\mybatis-3.5.11.jar
    user.name: lawsssscat
    java.vm.specification.version: 1.8
    sun.java.command: test.SystemPropertyTest
    java.home: C:\Program Files\Java\jdk1.8.0_301\jre
    sun.arch.data.model: 64
    user.language: zh
    java.specification.vendor: Oracle Corporation
    awt.toolkit: sun.awt.windows.WToolkit
    java.vm.info: mixed mode
    java.version: 1.8.0_301
    java.ext.dirs: C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
    sun.boot.class.path: C:\Program Files\Java\jdk1.8.0_301\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_301\jre\classes
    java.vendor: Oracle Corporation
    file.separator: \
    java.vendor.url.bug: http://bugreport.sun.com/bugreport/
    sun.io.unicode.encoding: UnicodeLittle
    sun.cpu.endian: little
    sun.desktop: windows
    sun.cpu.isalist: amd64
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55

    💡 提示

    上述是默认有值的vm标准参数,更多的参数可以自定义,然后在程序中通过 System.getProperty(key) 获取
    如: tomcat
    在这里插入图片描述

    # 非标准参数 -X

    默认JVM实现这些参数的功能,可是并不保证全部JVM实现都知足,且不保证向后兼容;

    在控制台输入 java -X 可查看全部非标准参数

    $ java -X
        -Xmixed           混合模式执行(默认)
        -Xint             仅解释模式执行
        -Xbootclasspath:<; 分隔的目录和 zip/jar 文件>
                          设置引导类和资源的搜索路径
        -Xbootclasspath/a:<; 分隔的目录和 zip/jar 文件>
                          附加在引导类路径末尾
        -Xbootclasspath/p:<; 分隔的目录和 zip/jar 文件>
                          置于引导类路径之前
        -Xdiag            显示附加诊断消息
        -Xnoclassgc        禁用类垃圾收集
        -Xincgc           启用增量垃圾收集
        -Xloggc:<file>    将 GC 状态记录在文件中(带时间戳)
        -Xbatch           禁用后台编译
        -Xms<size>        设置初始 Java 堆大小
        -Xmx<size>        设置最大 Java 堆大小
        -Xss<size>        设置 Java 线程堆栈大小
        -Xprof            输出 cpu 分析数据
        -Xfuture          启用最严格的检查,预计会成为将来的默认值
        -Xrs              减少 Java/VM 对操作系统信号的使用(请参阅文档)
        -Xcheck:jni       对 JNI 函数执行其他检查
        -Xshare:off       不尝试使用共享类数据
        -Xshare:auto      在可能的情况下使用共享类数据(默认)
        -Xshare:on        要求使用共享类数据,否则将失败。
        -XshowSettings    显示所有设置并继续
        -XshowSettings:system
                          (仅限 Linux)显示系统或容器
                          配置并继续
        -XshowSettings:all
                          显示所有设置并继续
        -XshowSettings:vm 显示所有与 vm 相关的设置并继续
        -XshowSettings:properties
                          显示所有属性设置并继续
        -XshowSettings:locale
                          显示所有与区域设置相关的设置并继续
    
    -X 选项是非标准选项。如有更改,恕不另行通知。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    常常使用的jvm堆大小就是经过非标准参数设置的

    -Xms<size>        设置初始 Java 堆大小
    -Xmx<size>        设置最大 Java 堆大小
    -Xss<size>        设置 Java 线程堆栈大小
    
    • 1
    • 2
    • 3
    # 非Stable参数 -XX

    关于此类参数的罗列,可以参考官方文档: https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html

    此类参数各个JVM实现会有所不一样,未来可能会随时取消,须要慎重使用;

    -XX:NewSize=341m,设置年轻代初始值为341M。 -XX:MaxNewSize=341m,设置年轻代最大值为341M。 
    -XX:PermSize=512m,设置持久代初始值为512M,但在java8及以后就不支持了,改用XX:MetaspaceSize=512m。 
    -XX:MaxPermSize=512m,设置持久代最大值为512M,一样在java8及以后就不支持了,改用-XX:MaxMetaspaceSize=512m。
    
    • 1
    • 2
    • 3

    程序参数 Program arguments

    这里的配置参数为主类的main方法的参数

    public static void main(String[] args) {
    	...
    }
    
    • 1
    • 2
    • 3
    • 4

    运行程序时传入

    $ java                         ↓
    用法: java [-options] class [args...]
               (执行类)                     ↓
       或  java [-options] -jar jarfile [args...]
               (执行 jar 文件)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    环境变量 Environment variables

    Environment variables 为环境变量,可经过System.getenv()方法得到。

    package test;
    
    import java.util.Map;
    
    public class EnvironmentTest {
    
    	public static void main(String[] args) {
    		Map<String, String> env = System.getenv();
    		for (Map.Entry<String, String> entry : env.entrySet()) {
    			String key = entry.getKey();
    			String val = entry.getValue();
    			System.out.println(String.format("%s: %s", key, val));
    		}
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    USERDOMAIN_ROAMINGPROFILE: PC-3B8USVE-LAW
    LOCALAPPDATA: C:\Users\lawsssscat\AppData\Local
    PROCESSOR_LEVEL: 23
    USERDOMAIN: PC-3B8USVE-LAW
    FPS_BROWSER_APP_PROFILE_STRING: Internet Explorer
    LOGONSERVER: \\PC-3B8USVE-LAW
    JAVA_HOME: C:\Program Files\Java\jdk1.8.0_301
    SESSIONNAME: Console
    ALLUSERSPROFILE: C:\ProgramData
    PROCESSOR_ARCHITECTURE: AMD64
    PSModulePath: C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
    SystemDrive: C:
    APPDATA: C:\Users\lawsssscat\AppData\Roaming
    USERNAME: lawsssscat
    ProgramFiles(x86): C:\Program Files (x86)
    CommonProgramFiles: C:\Program Files\Common Files
    Path: C:/Users/lawsssscat/Desktop/sts-4.16.1.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20221004-1257/jre/bin/server;C:/Users/lawsssscat/Desktop/sts-4.16.1.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20221004-1257/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Git\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Tencent\微信web开发者工具\dll;C:\Program Files\dotnet\;C:\Program Files\lua;C:\Program Files\luarocks;C:\MinGW\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Ruby31-x64\bin;C:\Ruby24-x64\bin;C:\Users\lawsssscat\AppData\Local\Microsoft\WindowsApps;C:\Program Files\qemu;C:\Users\lawsssscat\AppData\Roaming\npm;C:\Users\lawsssscat\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\ffmpeg\bin;E:\nodejs\node_global;C:\Users\lawsssscat\AppData\Local\GitHubDesktop\bin;C:\Users\lawsssscat\AppData\Local\Programs\Python\Python310;C:\Users\lawsssscat\Desktop\cmder;C:\cmake\bin;C:\bash_extend;F:\bin_java\apache-maven-3.8.6\bin;C:\Program Files\Java\jdk1.8.0_301\bin;F:\bin_db\mysql-8.0.31-winx64\bin;;C:\Users\lawsssscat\Desktop\sts-4.16.1.RELEASE;
    FPS_BROWSER_USER_PROFILE_STRING: Default
    PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.RB;.RBW
    DriverData: C:\Windows\System32\Drivers\DriverData
    OS: Windows_NT
    COMPUTERNAME: PC-3B8USVE-LAW
    PROCESSOR_REVISION: 7100
    CommonProgramW6432: C:\Program Files\Common Files
    ComSpec: C:\Windows\system32\cmd.exe
    ProgramData: C:\ProgramData
    ProgramW6432: C:\Program Files
    HOMEPATH: \Users\lawsssscat
    SystemRoot: C:\Windows
    TEMP: C:\Users\LAWSSS~1\AppData\Local\Temp
    MYSQL_HOME: F:\bin_db\mysql-8.0.31-winx64
    HOMEDRIVE: C:
    PROCESSOR_IDENTIFIER: AMD64 Family 23 Model 113 Stepping 0, AuthenticAMD
    USERPROFILE: C:\Users\lawsssscat
    TMP: C:\Users\LAWSSS~1\AppData\Local\Temp
    CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
    ProgramFiles: C:\Program Files
    PUBLIC: C:\Users\Public
    NUMBER_OF_PROCESSORS: 24
    windir: C:\Windows
    =::: ::\
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    💡 提示

    不难发现,环境变量中很多值和vm options中的-D参数一样,名字也类似。
    实际上,应该是后者(vm options)会从前者(environment variable)中取值

    eclipse variables

    在 eclipse 的其中配置选项中有 variables 这个按钮,选择其中的值会生成 ${...} 插值语法

    在这里插入图片描述

    这些表达式会根据其内容展示相应的行为,将不同行为获取到的值替换到表达式占位位置

    如:

    • ${current_date} 读取系统当前时间
    • ${project_path} 运行项目的路径
    • ${password_prompt} 会弹出对话框,让你输入密码
    • ${file_prompt} 会弹出对话框,让你选择一个文件
    • ${folder_prompt} 会弹出对话框,让你选择一个文件夹
    表达式含义
    ${build_files}返回其修改导致了当前构建的绝对文件系统路径的集合。可将一系列的字符(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示仅限文件(files only),“d”表示仅限目录(directories only))作为自变量来提供,以使文件列表仅包含特定类型的变化量。缺省为包含全部变化量。
    ${build_project}返回其修改导致了当前构建的绝对文件系统路径的集合。可将一系列的字符(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示仅限文件(files only),“d”表示仅限目录(directories only))作为自变量来提供,以使文件列表仅包含特定类型的变化量。缺省为包含全部变化量。
    ${build_type}返回正在执行的构建的类型:“增量”、“完全”、“自动”或“无”。
    ${container_loc}返回资源的容器的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${container_name}返回资源的容器的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${container_path}返回资源的容器的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${current_date}返回当前系统的时间,格式为yyyyMMdd_HHmm。可使用可选声明来规定其他的格式。格式必须是java.util.SimpleDateFormat的有效形式。
    ${eclipse_home}运行中的平台的基本安装位置
    ${env_var}返回环境变量的值。必须将环境变量名指定为自变量。
    ${file_prompt}返回在“选择文件”对话框中选择的文件的绝对文件系统路径。当提供一个自变量时,使用它作为对话框标题上的提示。当提供第二个自变量时,使用它作为“选择文件”对话框的初始值。第一个自变量和第二个自变量必须以“:”分隔。
    ${folder_prompt}返回在“选择目录”对话框中选择的目录的绝对文件系统路径。当提供一个自变量时,使用它作为对话框标题上的提示。当提供第二个自变量时,使用它作为“选择目录”对话框的初始值。第一个自变量和第二个自变量必须以“:”分隔。
    ${java_extensions_regex}与已注册的类似于 Java 的文件扩展名相匹配的正则表达式
    ${java_type_name}返回所选资源中主类型的标准 Java 类型名。
    ${project_classpath}返回该工程的系统路径
    ${project_loc}返回资源的项目的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${project_name}返回资源的项目的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${project_path}返回资源的项目的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${resource_loc}返回资源的绝对文件系统路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${resource_name}返回资源的名称。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${resource_path}返回资源的工作空间相对路径。当没有指定自变量时,目标资源就是选择的资源,否则目标资源是由工作空间相对路径标识的资源。
    ${selected_resource_loc}返回选择的资源的工作空间的文件系统绝对路径
    ${selected_resource_name}返回选择的资源的名称
    ${selected_resource_path}返回选择的资源的工作空间的相对路径
    ${selected_text}返回活动编辑器中当前选择的文本。
    ${system}返回 Eclipse 系统变量的值。必须将变量名指定为自变量 - 下列其中一个值:ARCH、ECLIPSE_HOME、NL、OS 或 WS。
    ${system_path}返回外部文件的绝对文件系统路径。通过根据指定的系统路径来查找第一个出现的指定工具来解决。必须将工具名称作为自变量来提供。
    ${system_property}从 Eclipse 运行时返回系统属性的值。系统属性名必须作为自变量指定。
    ${workspace_loc}返回工作空间根目录的绝对文件系统路径。当指定了自变量时,返回由工作空间相对路径标识的资源的绝对文件系统路径。

    💡 提示

    设置后,可以通过 “show command line” 查看具体的值
    在这里插入图片描述

    💡 提示

    更多的值可以自定义

    在这里插入图片描述

  • 相关阅读:
    FineBI与DeepBI针对用9行数据分析一篇完整的数据报告的速度对比
    感冒了吃抗生素有用吗?
    DailyPractice.2023.10.19
    情感支撑对话论文最近进展 Emotion Support Conversation
    服务器版博客系统、前后端交互3
    hadoop 3.x大数据集群搭建系列7-安装Hudi
    财政政策与货币政策
    输入法显示到语言栏_状态栏
    uniapp里textarea多行文本输入限制数量
    C++之值传递&指针传递&引用传递详解
  • 原文地址:https://blog.csdn.net/LawssssCat/article/details/103176090