我一直在尝试从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函数,因此使用参数定位该类应该有效。有人能指出我正确的方向吗?
解决了!
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。