Java 操作与命令
启动程序与检查运行环境
java · Java 程序启动器
更多信息:https://docs.oracle.com/en/java/javase/25/docs/specs/man/java.html。
- 通过提供类名称运行一个含有 main 函数的 java
.class程序:
bash
java {{类名称}}- 运行 Java 程序,并使用附加的第三方或用户定义类:
下面使用 POSIX 的 : 类路径分隔符。Windows 使用 ;,并把整个类路径放入引号,例如 java -classpath "classes;lib/helper.jar;." com.example.Main;路径含空格时同样需要引号。
bash
java -classpath {{路径/到/类1}}:{{路径/到/类2}}:. {{类名称}}- 运行一个
.jar程序:
bash
java -jar {{文件名.jar}}- 使用 JDK 9+ 运行一个
.jar程序,并在本机端口 5005 等待调试器;suspend=y会暂停应用直到调试器连接:
bash
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=127.0.0.1:5005 -jar {{文件名.jar}}- 显示帮助:
bash
java -help- 显示 JDK、JRE 和 HotSpot 的版本:
bash
java -versionjava launch · 使用 JDK 启动 Java 程序
- 运行已编译主类:
bash
java -cp {{classes}} {{com.example.Main}}- 运行可执行 JAR:
bash
java -jar {{app.jar}} {{argument}}- 直接运行源文件(JDK 11+;当前 JDK 必须支持文件所用语法):
bash
java {{Main.java}}- 设置系统属性后启动:
bash
java -D{{app.environment}}={{development}} -jar {{app.jar}}java runtime · 检查运行环境并设置 JVM 内存与日志
- 查看版本与运行环境设置:
bash
java -XshowSettings:properties -version- 设置初始与最大堆内存:
bash
java -Xms{{256m}} -Xmx{{1g}} -jar {{app.jar}}- 将垃圾回收日志写入文件(JDK 9+ 统一日志):
bash
java -Xlog:gc:file={{gc.log}} -jar {{app.jar}}- 列出可用模块(JDK 9+):
bash
java --list-modules构建与打包项目
gradle build workflow · 使用项目 Wrapper;Windows 使用 gradlew.bat,任务取决于已应用插件
- 列出可用任务:
bash
./gradlew tasks --all- 构建并执行检查:
bash
./gradlew build- 仅预览任务执行顺序:
bash
./gradlew build --dry-run- 删除输出后重新构建:
bash
./gradlew clean buildmvn · Apache Maven:构建和管理基于 Java 的项目
更多信息:https://manned.org/mvn。
- 编译项目:
bash
mvn compile- 将编译后的代码打包成可分发格式,比如
jar:
bash
mvn package- 编译和打包,跳过单元测试:
bash
mvn package {{[-D|--define]}} skipTests- 在本地 maven 存储库中安装构建的包(这也会调用 compile 和 package 命令):
bash
mvn install- 从目标目录中删除构建工件,通常用来清理之前的编译结果:
bash
mvn clean- 执行清理操作,然后进行编译打包:
bash
mvn clean package- 清理然后使用给定的构建配置文件打包代码:
bash
mvn clean {{[-P|--activate-profiles]}} {{构建配置文件}} package- 使用 main 方法运行一个类:
bash
mvn exec:java {{[-D|--define]}} exec.mainClass="{{com.example.Main}}" {{[-D|--define]}} exec.args="{{参数1 参数2 ...}}"mvn build · 从包含 pom.xml 的项目目录执行 Maven 生命周期
- 编译主源码:
参见 mvn。
- 执行测试并打包:
参见 mvn。
- 执行集成校验阶段:
bash
mvn verify- 删除构建输出并安装到本地仓库:
bash
mvn clean install查看与准备依赖
gradle dependency workflow · 检查项目依赖解析;Windows 使用 gradlew.bat
- 查看运行时依赖树:
bash
./gradlew dependencies --configuration {{runtimeClasspath}}- 定位版本选择原因:
bash
./gradlew dependencyInsight --dependency {{slf4j-api}} --configuration {{runtimeClasspath}}- 查看子项目依赖:
bash
./gradlew :{{app}}:dependencies --configuration {{runtimeClasspath}}- 刷新依赖缓存后构建:
bash
./gradlew build --refresh-dependenciesmvn dependency workflow · 查看 Maven 依赖并准备离线构建
- 显示依赖树:
bash
mvn dependency:tree- 只显示指定依赖:
bash
mvn dependency:tree -Dincludes={{org.slf4j:slf4j-api}}- 下载项目与插件依赖到本地仓库:
bash
mvn dependency:go-offline- 将依赖类路径写入文件:
bash
mvn dependency:build-classpath -Dmdep.outputFile={{classpath.txt}}筛选与运行测试
gradle test workflow · 在 JVM 项目中筛选测试;Windows 使用 gradlew.bat
- 运行测试任务:
bash
./gradlew test- 运行指定类:
bash
./gradlew test --tests "{{com.example.OrderTest}}"- 运行指定方法:
bash
./gradlew test --tests "{{com.example.OrderTest.createsOrder}}"- 强制重新运行测试与依赖任务:
bash
./gradlew test --rerun-tasksmvn test workflow · 使用 Surefire 选择单元测试;测试类必须已配置
使用 Surefire 选择单元测试;测试类必须已配置。
- 运行所有单元测试:
bash
mvn test- 运行一个测试类:
bash
mvn -Dtest={{OrderServiceTest}} test- 运行某个测试方法:
bash
mvn "-Dtest={{OrderServiceTest}}#{{createsOrder}}" test- 运行匹配名称的测试:
bash
mvn "-Dtest={{Order*Test}}" test示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。
继续阅读
- 知识专题
- 知识专题
- 知识专题