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

标签 java package shared-libraries addition external

如标题所示,

我的结构基本上是这样的: Structure of the Project

本质上有两个文件夹:com 和 JsonJ 以及 jar 文件。

如何在代码的帮助下获取作为库的 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();
        }
    }

}

关于Java:使用代码从文件夹添加外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59800636/

相关文章:

shared-libraries - 如何控制 Linux 上的共享库版本问题?

c++ - 从没有头文件的共享库加载类

java - 我应该抛出什么异常

java - 将属性保存在 JAVA 格式的文件中

perl - 使用包时全局使用工具位置

scala - 与简单的 Scala 打包示例混淆

linux - 如何将 qt5 添加到我的 openembedded 构建中?

java - 检查二维数组中的相邻元素并替换它们

java - 我想知道为什么这个结果不是1000000

c++ - 旧的 32 位 linux 程序如何最终调用 64 位库?