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

问题描述 投票:0回答:1

我一直在尝试从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是运行所需的twitter API)

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);
    }
}

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

java c++ api twitter twitter4j
1个回答
1
投票

解决了!

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

由于使用javac创建的类依赖于jar API(两者都驻留在同一目录中),因此包含“。; twitter4j-core-4.0.7.jar”以执行TwitterDataCrawler。

© www.soinside.com 2019 - 2024. All rights reserved.