java的-D命令行参数
我们会用mvn启动一个应用,如下的命令行:
- MAVEN_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m" mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
我们来解析一下这些命令行的意义.
-Dxxxx是java运行参数的语法
作用是配置一些环境变量,具体有哪些参数,参数有什么效果,和你用的实际环境、项目架构都有关
对,让程序知道log_path代表什么,具体程序怎么用,那是程序的事了
System.getProperty(“propertyName”) 比如你的就是System.getProperty(“log_path”)就可以拿到了
java的main函数都具有String[] 参数。这个参数可以通过-d来传递。
log_path这个会被存放在System.getProperty()中,
Property 是继承 hashtable的。可以通过System.getProperty(“log_path”)取得。
Java启动参数
Java启动参数共分为三类;
其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;
mvn 命令行参数
mvn -v, –version 显示版本信息;
mvn -V, –show-version 显示版本信息后继续执行Maven其他目标;
mvn -h, –help 显示帮助信息; mvn -e, –errors 控制Maven的日志级别,产生执行错误相关消息;
mvn -X, –debug 控制Maven的日志级别,产生执行调试信息;
mvn -q, –quiet 控制Maven的日志级别,仅仅显示错误;
mvn -Pxxx 激活 id 为 xxx的profile (如有多个,用逗号隔开);
mvn -Dxxx=yyy 指定Java全局属性;
mvn -o , –offline 运行offline模式,不联网更新依赖;
mvn -N, –non-recursive 仅在当前项目模块执行命令,不构建子模块;
mvn -pl, –module_name 在指定模块上执行命令;
mvn -ff, –fail-fast 遇到构建失败就直接退出;
mvn -fn, –fail-never 无论项目结果如何,构建从不失败;
mvn -fae, –fail-at-end 仅影响构建结果,允许不受影响的构建继续;
mvn -C, –strict-checksums 如果校验码不匹配的话,构建失败;
mvn -c, –lax-checksums 如果校验码不匹配的话,产生告警;
mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖);
mvn -npu, –no-plugin-updates 对任何相关的注册插件,不进行最新检查(使用该选项使Maven表现出稳定行为,该稳定行为基于本地仓库当前可用的所有插件版本);
mvn -cpu, –check-plugin-updates 对任何相关的注册插件,强制进行最新检查(即使项目POM里明确规定了Maven插件版本,还是会强制更新);
mvn -up, –update-plugins [mvn -cpu]的同义词;
mvn -B, –batch-mode 在非交互(批处理)模式下运行(该模式下,当Mven需要输入时,它不会停下来接受用户的输入,而是使用合理的默认值);
mvn -f, –file 强制使用备用的POM文件; mvn -s, –settings 用户配置文件的备用路径;
mvn -gs, –global-settings 全局配置文件的备用路径;
mvn -emp, –encrypt-master-password 加密主安全密码,存储到Maven settings文件里;
mvn -ep, –encrypt-password 加密服务器密码,存储到Maven settings文件里;
mvn -npr, –no-plugin-registry 对插件版本不使用~/.m2/plugin-registry.xml(插件注册表)里的配置