Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:使用代码从文件夹中添加外部库_Java_Package_Shared Libraries_Add_External - Fatal编程技术网

Java:使用代码从文件夹中添加外部库

Java:使用代码从文件夹中添加外部库,java,package,shared-libraries,add,external,Java,Package,Shared Libraries,Add,External,正如标题所述 我基本上有这样的结构: 基本上有两个文件夹:带有jar文件的com和JsonJ 如何在代码的帮助下获取jar文件(它是一个库)并将其作为库添加到项目中?如果您的问题是加载jar,然后从中加载一个类,那么您必须创建一个新的URLClassLoader实例,然后使用该实例加载您的类。下面是一个示例方法 public class AddToClasspathAndLoad{ public static void main( String[] args ) throws Malf

正如标题所述

我基本上有这样的结构:

基本上有两个文件夹:带有jar文件的com和JsonJ


如何在代码的帮助下获取jar文件(它是一个库)并将其作为库添加到项目中?

如果您的问题是加载jar,然后从中加载一个类,那么您必须创建一个新的URLClassLoader实例,然后使用该实例加载您的类。下面是一个示例方法

public class AddToClasspathAndLoad{
    public static void main( String[] args ) throws MalformedURLException{
        URL[] urls = new URL[] { new URL( "file:///<absolute-path-to-jar-or-folder>" ) };
        URLClassLoader cl = ( (URLClassLoader) AddToClasspathAndLoad.class.getClassLoader() ).newInstance( urls );

        tryIt( cl );
    }

    private static void tryIt(URLClassLoader cl) {
        try {
            Class<?> c = cl.loadClass( "<fully-qualified-class-name>" );
            System.out.println( c.getName() );
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
公共类AddToClasspathAndLoad{
publicstaticvoidmain(字符串[]args)引发畸形的DurLexException{
URL[]URL=新URL[]{新URL(“文件://”)};
URLClassLoader cl=((URLClassLoader)AddToClasspathAndLoad.class.getClassLoader()).newInstance(URL);
tryIt(cl);
}
私有静态void tryIt(URLClassLoader cl){
试一试{
c类=cl.loadClass(“”);
System.out.println(c.getName());
}catch(classnotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
}