有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从CUBRID数据库中的java类文件加载jar

我有一个java类,我想在外部jar中加载一个类

jar是xstream-1.4.2。jar类是com。思想工作。xstream。XStream

我在谷歌搜索,但我不能插入对我的项目(jar)的外部引用

这是我的代码:

File file  = new File("c:\\cubrid\\bin\\xstream-1.4.2.jar");
URL url = file.toURL();  
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("com.thoughtworks.xstream.XStream");
cadena = cls.toXML(objeto);

我不知道如何调用方法,我在谷歌上读了一些文档,但很抱歉,这是我在Java上编程的第二天

我想生成一个。班级图书馆。这是为另一个应用程序加载的。为此,我需要使用一些方法从外部加载jar

该类文件将作为java存储过程加载到CUBRID数据库服务器中

我的问题是错误:java。朗,反思一下。调用目标异常

我的密码

import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.xml.parsers.DocumentBuilderFactory;

public class jp2 {

    static ResultSet resultado = null;
    static String cadena = null;
    static Statement statement = null;
    static DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();   

public static String Validar(String tblUsuariosLogin,String tblUsuariosPassword)
{


    try {
        Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
        Connection con = DriverManager.getConnection("jdbc:default:connection:"); 


            File file  = new File("c:\\cubrid\\bin\\xstream-1.4.2.jar");
            URL url = file.toURL();  
            URL[] urls = new URL[]{url};
            ClassLoader cl = new URLClassLoader(urls);

            Class cls = cl.loadClass("com.thoughtworks.xstream.XStream");

               // XStream xstream = new XStream();
                cadena = cls.toXML(objeto); 


            return cadena;

        } catch (Exception e) {
            // TODO: handle exception
        }
        return cadena;


    }



}

CUBRID数据库允许您加载。类文件,并在存储过程中使用它


共 (1) 个答案

  1. # 1 楼答案

    看看^{},它允许您从外部JAR文件加载类

    /edit
    您的问题是,您试图在对象的Class上调用方法,而不是对象本身。如果要调用该方法,需要创建该Classnew instance(参见提供的第二个方法),并对结果调用该方法

    你确定你不只是想把JAR文件放在你的类路径上,直接处理类,而不是根据需要使用反射来加载和实例化类吗