我有兴趣使用Java程序发送推文。我写了以下prgram。它在编译时没有显示任何错误。但是在执行时显示
"Exception in thread "main" java.lang.NoClassDefFoundError: hi
Caused by: java.lang.ClassNotFoundException: hi
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: hi. Program will exit."
这是我的代码..
package twitter;
//import java.lang.object;
import net.unto.twitter.*;
import net.unto.twitter.TwitterProtos.Status;
public class hi
{
public static void main(String args[])
{
Api api = Api.builder().username("usename").password("password").build();
api.updateStatus("This is a test message.").build().post();
}
}
任何人都可以帮助我..Pls
答案 0 :(得分:1)
名为hi
的类在twitter包中。
在执行课程时包含包名称。
试试这个:
java -cp .:hello_twitter/java-twitter.jar twitter.hi
答案 1 :(得分:0)
此错误表明您未正确启动应用程序。可能是一个典型的类路径问题,因为你需要一个java库加上你自己的clode。在控制台/终端上试试这个:
(1)导航到您的应用程序的根文件夹(./twitter/hi.class
应该是您实际路径中的有效文件)
(2)用:
执行申请java -cp .;path/to/twitter/lib/twitterlib.jar twitter.hi
(用真实路径和lib名称替换path/to/twitter/lib/twitterlib.jar
)
所以,回到基础:
您的班级名为twitter.hi
,其中需要存储在./twitter/hi.java
文件中。
然后,您必须将java文件编译为文件./twitter/hi.class
完成后,使用
运行应用程序java -cp .:hello_twitter/java-twitter.jar twitter.hi