Sea*_*ean 2 java javac package
我已经有很长一段时间了,因为我已经广泛使用了java,而且我遇到了一些麻烦,我认为这可能很简单.代码在linux系统上,我正在使用javac和其他命令行工具.
两个文件,第二个不会编译.这是第一个名为ITranslator.java的文件:
package org.helloopensource.greetings;
public interface ITranslator {
public abstract String translate(String fromLanguage, String toLanguage, String word);
}
这是第二个,名为Greeting.java:
package org.helloopensource.greetings;
public class Greeting {
private ITranslator translator;
public Greeting(ITranslator translator) {
this.translator = translator;
}
public String sayHello(String language, String name) {
return translator.translate("English", language, "Hello") + " " + name;
}
}
当我尝试编译时,我得到:
> javac -classpath `pwd` Greeting.java
Greeting.java:4: cannot find symbol
symbol : class ITranslator
location: class org.helloopensource.greetings.Greeting
private ITranslator translator;
^
Greeting.java:6: cannot find symbol
symbol : class ITranslator
location: class org.helloopensource.greetings.Greeting
public Greeting(ITranslator translator) {
^
2 errors
就像我说的那样,我怀疑这很简单,或者说我做错了.任何帮助将不胜感激.
谢谢,
肖恩.
Java要求在与其包名匹配的子目录中找到类文件.所以:
mkdir -p org/helloopensource/greetings
mv *.java org/helloopensource/greetings/
javac -classpath . org/helloopensource/greetings/*.java
应该这样做.
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |