java - 如何从命令行运行在两个不同包中具有源代码的java代码?

标签 java command-line classpath command-prompt

所以我想运行一个名为 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 执行此操作,但无法通过命令行使其工作。

我认为这是一个与类路径相关的问题,但对于我的特定示例,我找不到任何有用的信息,而且我尝试的任何方法都不起作用。 enter image description here

这是 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/

相关文章:

java - 无法使用 JasperReports 生成 PDF 报告

java - Apache CXF 作为 Restful API 的客户端 - 未找到类的消息正文编写器

java - 每次在 libgdx 中单击按钮时,如何向前和向后移动 Sprite?

java - 使用类路径参数运行 jar

java - 从 Maven 项目资源文件夹 (src/main/resources) 加载 excel(.xlsx/.xls) 文件

scala - 在 Spark 上运行 Tika 的类路径问题

Java 代码风格——接口(interface)与抽象类

command-line - 如何在 wmic 输出中设置列顺序?

linux - 用参数替换 bash 脚本中的部分命令

windows - 隐藏执行另一个 .EXE 文件的 .BAT 文件的命令窗口