繁体   English   中英

如何从具有 2 个不同包中的源代码的命令行运行 Java 代码?

[英]How to run java code from command line that has source code in 2 different packages?

所以我想运行一个名为 WordFrequencyCounter 的类,它嵌套在文件夹中:C:\\Users\\Mike\\Documents\\Computer Science\\AI\\Machine Learning\\175\\Assignment 2\\src\\ir\\assignments\\two\\b

但是当我进入该文件夹并运行时:

javac WordFrequencyCounter.java

它给了我一个错误,因为它说它找不到 import 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来运行它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM