为什么这个简单的Jakarta Regexp类不会运行?

时间:2011-02-01 03:31:42

标签: java regex

我正在开发一个项目,要求我了解Apache Jakarta Regexp for Java的基础知识。我对如何在java类中包含库有点不熟悉。这是我试图运行的:

import org.apache.regexp.*;

public class regexpTest {
    public static void main(String[] args) {
        RE r = new RE("a*b");
        boolean match =  r.match("aabb");

        if (match){
            System.out.println("yes");
        }
        else{
            System.out.println("no");
        }
    }
}

我已将Documents \ jakarta-regexp-1.5 \ jakarta-regexp-1.5.jar添加到我的类路径中,但是我可以将其编译成没有错误,我必须使用:

javac -classpath ... \ jakarta-regexp-1.5 \ jakarta-regexp-1.5.jar regexpTest.java

将编译,但当我尝试像这样运行它时:
<登记/> java -classpath ... \ jakarta-regexp-1.5 \ jakarta-regexp-1.5.jar regexpTest

我收到错误:“Exception thread”main“java.lang.NoClassDefFoundError:regexpTest”

关于我做错什么的任何想法?

2 个答案:

答案 0 :(得分:2)

您的类路径中的当前目录是什么?

http://download.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

  

默认类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项会覆盖该缺省值,因此如果要在搜索路径中包含当前目录,则必须包含“。”。在新设置中。

答案 1 :(得分:2)

您的类路径中没有当前目录。试试这个:

java -classpath ...\jakarta-regexp-1.5\jakarta-regexp-1.5.jar:. regexpTest