错误:从命令行编译带有包语句的java代码时需要标识符
我有一个简单的类,它只有一个main方法,可以打印一些东西和一个包语句,如下所示错误:从命令行编译带有包语句的java代码时需要标识符,java,command-line,compilation,Java,Command Line,Compilation,我有一个简单的类,它只有一个main方法,可以打印一些东西和一个包语句,如下所示 package default; public class Main { public static void main(String[] args) { System.out.printf("something\n"); } } javac -cp default default/Main.java 我已将文件Main.java放入默认文件夹,并尝试使用以下命令编译
package default;
public class Main
{
public static void main(String[] args)
{
System.out.printf("something\n");
}
}
javac -cp default default/Main.java
我已将文件Main.java放入默认文件夹,并尝试使用以下命令编译它
javac default/Main.java
问题是,当我试图编译这个类时,我会逐字地得到以下错误消息
default/Main.java:1: error: <identifier> expected
package default;
^
1 error
但错误信息保持不变
我大学的一些同事建议,在IDE之外使用包是不可能的,我的代码通过命令行编译的唯一方法是删除包语句,但我认为这个答案不正确
如果有人知道我为什么会有这个问题,我会非常感谢你的回复。我只是想知道我做错了什么。默认值是java中的一个关键字,不能将关键字用作包名或变量名。默认关键字属于switch语句:
switch(x){
case 1:
//do stuff if x is 1...
break;
default:
//do stuff if x is not any of the other cases
break;
}
你不能有一个与关键字同名的包,因为你可以从突出显示的代码中看到它是关键字,而不是允许的标识符。谢谢。在那之后我觉得…不聪明。我不知道默认值是一个关键词。@Wesley:检查开关语句,你会发现
default
“感觉…不聪明”意味着你学到了一些东西每个人都会这样。