编译时无法加载主 class 和 运行 使用 C++ 的 java 文件

Unable to load main class when compiling and running a java file using C++

我一直在尝试从 C++ 编译和执行 java 文件,但我目前遇到此错误。 java 文件在 java 中单独执行时工作正常。

这是收到的错误代码:

Error: Could not find or load main class TwitterDataCrawler
Caused by: java.lang.ClassNotFoundException: TwitterDataCrawler

在我的 C++ 文件中:

(TwitterDataCrawler.java 是我想要的文件 运行 \ twitter4j-core-4.0.7.jar 是 API 需要的 twitter 运行)

int main()
{
    system("javac -cp twitter4j-core-4.0.7.jar TwitterDataCrawler.java");
    system("java -cp TwitterDataCrawler.java TwitterDataCrawler arg1");
    return 0;
}

我的 java 文件的结构如下所示:

public class TwitterDataCrawler {
    public TwitterDataCrawler() {
    }   
    public static void viewAccident(int x) throws TwitterException, IOException{
    }
    public static void main(String[] args) throws TwitterException, IOException {
            viewAccident(5000);
    }
}

我必须从 class TwitterDataCrawler 中调用 public static void main 函数。我假设由于 class 确实包含一个 main 函数,所以用参数定位 class 应该可以。有人能给我指出正确的方向吗?

已解决!

system(javac -cp twitter4j-core-4.0.7.jar TwitterDataCrawler.java);
system(java -cp .;twitter4j-core-4.0.7.jar TwitterDataCrawler);

由于使用 javac 创建的 class 依赖于一个 jar API(两者位于同一目录中),“.;twitter4j-core-4.0.7.jar”包含在内以执行 TwitterDataCrawler。