当我删除包名称它从命令提示符运行正常,但当我包括包名称时,它给我错误

时间:2012-04-13 08:55:01

标签: java eclipse command-prompt

我使用eclipse IDE编写简单的程序

代码正在关注

package java_pr;

import java.io.Console;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTestHarness {

    /**
     * @param args
     */     
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Console console = System.console();
        if (console == null) {
            System.err.println("No Console !!");
            System.exit(1);
        }
        while (true) {
            Pattern pattern = Pattern.compile(console.readLine("%nEnter your regex: "));

            Matcher matcher = pattern.matcher("Enter input string to search: ");

            boolean found = false;

            while (matcher.find()) {
                console.format("I found the text" +
                        "\"%s\" starting at " +
                        "index %d and ending at index %d.%n",
                        matcher.group(),
                        matcher.start(),
                        matcher.end());
                found = true;
            }
            if (!found) {
                console.format("No match found.%n");
            }
        }
    }

}

当我尝试从命令提示符运行此程序时,我收到了以下错误

  

线程“main”中的异常java.lang.NoClassDefFoundError:   RegexTestHarness(错误的名称:java_pr / RegexTestHarness)           at java.lang.ClassLoader.defineClass1(Native Method)           在java.lang.ClassLoader.defineClassCond(未知来源)           at java.lang.ClassLoader.defineClass(Unknown Source)           at java.security.SecureClassLoader.defineClass(Unknown Source)           at java.net.URLClassLoader.defineClass(Unknown Source)           在java.net.URLClassLoader.access $ 000(未知来源)           在java.net.URLClassLoader $ 1.run(未知来源)           at java.security.AccessController.doPrivileged(Native Method)           at java.net.URLClassLoader.findClass(Unknown Source)           at java.lang.ClassLoader.loadClass(Unknown Source)           at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)           at java.lang.ClassLoader.loadClass(Unknown Source)无法找到主类:RegexTestHarness。程序将退出。

在日食中运行良好

1 个答案:

答案 0 :(得分:0)

我猜这只是你从命令行运行的方式。

~/tmp# ls
java_pr
~/tmp# ls java_pr
RegexTestHarness.java RegexTestHarness.class
~/tmp# java -cp . java_pr.RegexTestHarness
Enter your regex:

这应该适合您