如何在VS Code中打包.java文件 解决包声明不匹配报错
报错原因
Java 要求包声明必须和源文件的实际存放目录层级完全匹配,该报错出现的核心原因是你当前 VS Code 打开的工作区根目录层级错误:你直接将VS_Code文件夹作为了工作区根目录打开,根目录对应的是 Java 的默认空包"",因此你声明package VS_Code;和预期的空包不匹配。
解决方法
你可以根据自己的使用习惯二选一:
- 方案1:调整工作区打开层级
关闭当前VS Code窗口,选择VS_Code文件夹的上一级文件夹作为工作区根目录打开。例如你的VS_Code文件夹路径是/home/user/code/VS_Code,就打开/home/user/code文件夹,此时VS_Code为根目录下的子文件夹,package VS_Code;的声明就和目录结构完全匹配,报错会自动消失。 - 方案2:修改包声明
如果你确定要将VS_Code文件夹作为工作区根目录使用,所有Java文件都直接放在根目录下,直接删除所有文件中的package VS_Code;代码即可,使用默认空包不会影响同目录下Java文件的互相调用。
包使用注意事项
- 包名建议遵循全小写的行业规范,不要使用大小写混合、带下划线的命名(当前
VS_Code不符合规范,建议修改为vscode,避免不同操作系统大小写敏感引发的编译异常) - 包层级严格对应目录层级,例如声明
package com.example.utils;的源文件,必须存放在工作区根目录下的com/example/utils子文件夹中 - 编译带包的Java文件时,建议使用
javac -d . *.java命令,编译器会自动按照包声明生成对应的目录结构,运行时需要使用全限定类名,例如java VS_Code.Demo
内容的提问来源于stack exchange,提问作者Malik Talha
相关产品推荐
相关产品推荐

