所以我想运行一个名为 WordFrequencyCounter 的类,该类嵌套在文件夹中:C:\Users\Mike\Documents\Computer Science\AI\Machine Learning\175\Assignment 2\src\ir\assignments\two\b
但是当我进入该文件夹并运行时:
javac WordFrequencyCounter.java
它给了我一个错误,因为它说找不到 导入 ir.assignments.two.a.Frequency; 具体来说,它说包 ir.assignments.two.a 不存在,但该文件位于:
C:\Users\Mike\Documents\Computer Science\AI\Machine Learning\175\Assignment 2\src\ir\assignments\two\a
我还尝试从文件夹中调用 javac WordFrequencyCounter.java:C:\Users\Mike\Documents\Computer Science\AI\Machine Learning\175\Assignment 2
但这也不起作用。所以我想要的是能够编译并运行 WordFrequencyCounter,然后为其提供一个位于 从命令行输入 C:\Users\Mike\Documents\Computer Science\AI\Machine Learning\175\Assignment 2。我可以从 IDE 执行此操作,但无法通过命令行使其工作。
我认为这是一个与类路径相关的问题,但对于我的特定示例,我找不到任何有用的信息,而且我尝试的任何方法都不起作用。
这是 WordFrequencyCounter 的主要方法:
public static void main(String[] args) throws FileNotFoundException {
File file = new File(args[0]);
List<String> words = Utilities.tokenizeFile(file);
List<Frequency> frequencies = computeWordFrequencies(words);
Utilities.printFrequencies(frequencies);
}
最佳答案
进入src文件夹并运行
javac -d 。 ir/assignments/2/b/MainClass.java
并使用java ir.assignments.2.b.MainClass
来运行它。
关于java - 如何从命令行运行在两个不同包中具有源代码的java代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13578010/