如何在VSCode中使用命令行参数运行Java程序
解决方案
1 无需Maven手动创建Java包的方法
Java包本质是和包名匹配的层级目录结构,不需要依赖任何构建工具,手动创建即可:
- 确定包名(例如
com.example),在你的工作目录下创建对应层级的文件夹com/example - 将
App.java放入example文件夹内,文件第一行必须添加包声明代码:package com.example; - 完成以上两步即完成包创建,不需要额外操作。
2 解决带包名的Java类运行找不到类的问题
你遇到的报错核心是编译、运行时的路径和类路径配置错误,按以下步骤操作即可:
2.1 手动创建包场景的操作步骤
假设你的工作根目录为java-learn,目录结构如下:
java-learn/ └── com/ └── example/ └── App.java
- 编译操作:在
java-learn根目录下执行编译命令,用-d参数指定编译后class文件的输出路径为当前目录:javac -d . com/example/App.java
执行完成后会在根目录自动生成com/example/App.class文件。 - 运行操作:依旧在
java-learn根目录下执行运行命令,可直接传入自定义参数:java com.example.App "I am an argument"
即可正常运行程序,参数会自动传入main方法的args数组。
2.2 Maven项目场景的操作步骤
如果是使用Maven的项目,可通过两种方式解决:
- 临时运行:在项目根目录执行
mvn compile完成编译后,执行命令指定类路径为编译输出目录即可运行:java -cp target/classes com.example.App "I am an argument" - 永久解决Maven archetype默认JDK版本问题:打开Maven全局配置文件
settings.xml,在<profiles>节点下添加如下配置,后续新建quickstart项目时会默认使用JDK11,无需每次修改pom.xml:
<profile> <id>default-jdk11</id> <activation> <activeByDefault>true</activeByDefault> <jdk>11</jdk> </activation> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.release>11</maven.compiler.release> </properties> </profile>
内容的提问来源于stack exchange,提问作者Cat
相关产品推荐
相关产品推荐

