我想用" java"运行我的java代码命令:
public class Statistics {
public static void main(String[] args) throws IOException {
.....
.....
final Runnable r = new Runnable() {
@Override
public void run() {
.....
}
};
scheduler.scheduleAtFixedRate(r, 0, 15, TimeUnit.MINUTES);
}
}
我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: jsoup/Statistics$1
at jsoup.Statistics.main(Statistics.java:37)
Caused by: java.lang.ClassNotFoundException: jsoup.Statistics$1
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
37行:final Runnable r = new Runnable(){
答案 0 :(得分:0)
是否可以在调度程序有机会执行之前退出main()方法? 即在返回之前,你不应该让main()方法等待调度程序完成吗?
答案 1 :(得分:0)
以下称为匿名内部类。 Runnable
接口通常无法实例化,但您可以动态扩展它以创建一个实现Runnable的新类。
final Runnable r = new Runnable() {
@Override
public void run() {
.....
}
};
您的类Statistics
将编译为名为Statistics.class
的类文件,而此匿名类将编译为名为Statistics$1.class
的类文件。
我怀疑您将Statistics类文件移动到新目录位置,以便使用java
运行它。在这种情况下,您还必须移动其伴随类文件。或者您错误地删除了Statistics$1.class
。
最好不要移动类文件,而是将包含java.exe
的文件夹添加到Windows中的PATH环境变量中。