为什么不';是否在所选包中运行take java类的ajax调用?

为什么不';是否在所选包中运行take java类的ajax调用?,java,ajax,reflection,package,classpath,Java,Ajax,Reflection,Package,Classpath,我正在使用Ajax、jsp和Java构建一个应用程序。 当我通过Ajax调用调用Java反射时,我遇到了这个问题。这就是错误: Feb 22, 2014 11:39:13 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [optSim] in context with path [/Manager] threw exception java.lang

我正在使用Ajax、jsp和Java构建一个应用程序。 当我通过Ajax调用调用Java反射时,我遇到了这个问题。这就是错误:

Feb 22, 2014 11:39:13 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [optSim] in context with path [/Manager] threw     exception
java.lang.RuntimeException: No resource for it/Manager/Support
引发异常的代码是:

 public static Vector<Class> getClassesForPackage(Package pkg) {
    String pkgname = pkg.getName();

    Vector<Class> classes = new Vector<Class>();

    // Get a File object for the package
    File directory = null;
    String fullPath;
    String relPath = pkgname.replace('.', '/');
    System.out.println(System.getProperty("java.class.path"));
    // System.out.println("ClassDiscovery: Package: " + pkgname +
    // " becomes Path:" + relPath);

    System.out.println(System.getProperty("java.class.path"));

    URL resource = ClassLoader.getSystemClassLoader().getResource(relPath);

    // System.out.println("ClassDiscovery: Resource = " + resource);
    if (resource == null) {
        throw new RuntimeException("No resource for " + relPath);
    }
    ....
公共静态向量getClassesForPackage(Package-pkg){
字符串pkgname=pkg.getName();
向量类=新向量();
//获取包的文件对象
文件目录=null;
字符串完整路径;
字符串relPath=pkgname.replace('.','/');
System.out.println(System.getProperty(“java.class.path”);
//System.out.println(“类发现:包:”+pkgname+
//“变为路径:”+relPath);
System.out.println(System.getProperty(“java.class.path”);
URL resource=ClassLoader.getSystemClassLoader().getResource(relPath);
//System.out.println(“ClassDiscovery:Resource=“+Resource”);
if(资源==null){
抛出新的RuntimeException(“没有“+relPath”的资源);
}
....
在input中,此方法获取包名,并搜索所选包中的类。 问题是,如果我在没有Ajax的情况下通过jar文件调用该方法,那么该方法将正确运行,否则将返回一个错误

我打印javaclass路径,它包含目录src,其中是it/Manager/Support

我认为问题在于tomcat配置

有人能帮我吗

非常感谢

解决方案是:

URL resource = Thread.currentThread().getContextClassLoader().getResource("path");
因为当ajax调用java代码时,我必须选择线程类加载器,否则java不知道类加载器取的是什么!