0
我无法在命令行中编译我的类。我必须错过一些非常明显的东西,但我无法弄清楚。Java不编译我的源代码
这里我设置...
环境设置(赢8.1):
JAVA_HOME C:\Program Files\Java\jdk1.8.0_11
Path %JAVA_HOME%\bin;
我有 “javaTest” 文件夹中包含两个java文件Run.java和Animal.java。 我可以编译Animal.java,但编译“Run.java”文件时出现错误。
命令行:
C:\>cd C:\javaTest
C:\javaTest>dir
Volume in drive C is Local Disk
Directory of C:\javaTest
01/10/2014 10:37 AM <DIR> .
01/10/2014 10:37 AM <DIR> ..
01/10/2014 10:37 AM 337 Animal.java
01/10/2014 10:36 AM 230 Run.java
2 File(s) 567 bytes
2 Dir(s) 42,796,736,512 bytes free
C:\javaTest>javac Animal.java (**note: this gets executed without problems**)
C:\javaTest>javac Run.java
Run.java:5: error: cannot find symbol
Animal a1 = new Animal();
^
symbol: class Animal
location: class Run
Run.java:5: error: cannot find symbol
Animal a1 = new Animal();
^
symbol: class Animal
location: class Run
Run.java:9: error: cannot find symbol
Animal a2 = new Animal("Animal2");
^
symbol: class Animal
location: class Run
Run.java:9: error: cannot find symbol
Animal a2 = new Animal("Animal2");
^
symbol: class Animal
location: class Run
4 errors
下面是实际的代码:
Run.java
public class Run{
public static void main(String[] args){
Animal a1 = new Animal();
a1.setName("Animal1");
a1.showName();
Animal a2 = new Animal("Animal2");
System.out.println(a2.getName());
}
}
Animal.java
public class Animal{
private String name;
public Animal() {
}
public Animal(String name) {
this.name = name;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void showName(){
System.out.println(this.name);
}
}
我可以运行同样的代码从Eclipse没有任何 问题。所以,我不知道我错过了什么?
感谢,延...修改类路径解决了我的问题... – BustedSanta 2014-10-01 14:21:30
奇怪的是,这是必要的。你有CLASSPATH环境变量吗?默认情况下,如果没有指定java/javac,则应该使用当前工作目录(“。”)作为类路径。如果你有一个CLASSPATH环境变量,那么删除它可能会让你的学习生活更轻松。 – Gimby 2014-10-01 15:20:04
我有我的环境变量指向几个位置设置Classpath。但是我的类路径中没有包含“。”我认为这是问题。这真的是我改变的唯一的东西,而且之后我能够编译。 – BustedSanta 2014-10-01 18:12:39