Dav*_*son 4 java symbols compilation javac classpath
所以我一直试图在几个小时内解决这个问题.我已经浏览了互联网,我已经搜索了StackOverflow,我问过一些同事(我是实习生)老实说,没有人能告诉我发生了什么!我把一个非常简单的例子放在一起向你展示我在做什么(即使用简单的例子我也得到错误)
我有两个.java文件.一个是Test.java另一个是testClass.java.
//testClass.java
package test;
public class testClass {
private int someMember=0;
public testClass(){
//kill me now
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有我的Test.java文件,其中包含我的main方法.(虽然在我真正的问题中我没有主方法 - 它是一个带doGet()方法的servlet )
//Test.java
package test;
public class Test {
public static void main(String[] args) {
testClass myTest = new testClass();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下内容进行编译(从Windows命令行,使用当前目录保存我的.java文件):
..java bin location..\javac testClass.java
Run Code Online (Sandbox Code Playgroud)
这非常正常,我在当前目录中获得了一个testClass.class文件.然后,我尝试使用以下内容编译Test.java文件(再次在工作目录中):
..java bin location..\javac -classpath . Test.java
Run Code Online (Sandbox Code Playgroud)
这会导致以下错误:
Test.java:6: cannot find symbol
symbol : class testClass
location : class test.testClass
testClass myTest = new testClass();
Run Code Online (Sandbox Code Playgroud)
你能帮助一个兄弟吗?:(
Jon*_*eet 14
你的类在一个包中,Java将寻找假定包结构的类 - 但javac不会为你构建那个结构,除非你告诉它; 它通常会将类文件放在Java文件旁边.
选项:
test目录中,然后编译test\Test.java和test\testClass.java-d .编译时,强制javac构建包结构.使用IDE(Eclipse,IntelliJ等)往往会鼓励甚至强迫您将文件放在正确的目录中,并且通常也会使构建代码变得更容易.
| 归档时间: |
|
| 查看次数: |
23102 次 |
| 最近记录: |