java - java中的库查找路径

标签 java

每当有人部署应用程序时都会出现一个问题:项目部署后,java 在哪里寻找它的库(jar 和 dll)?

最诚挚的问候, 斯特凡

最佳答案

正如其他答案所建议的那样,它看起来有几个不同的地方。您可以使用 System.getProperty("java.library.path")System.getProperty("java.class.path") 查看实际路径。

我也发现下面的代码非常有用。您可以使用它在运行时将路径添加到搜索的库路径。


    /**
     * Allows you to add a path to the library path during runtime
     * @param dllLocation The path you would like to add
     * @return True if the operation completed successfully, false otherwise
     */
    public boolean addDllLocationToPath(final String dllLocation)
    {
        //our return value
        boolean retVal = false;
        try
        {
            System.setProperty("java.library.path", System.getProperty("java.library.path") + ";" + dllLocation);
            //get the sys path field
            Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths");
            fieldSysPath.setAccessible(true);
            fieldSysPath.set(null, null);
            retVal = true;
        }
        catch (Exception e)
        {
            System.err.println("Could not modify path");
        }
        return retVal;
    }

关于java - java中的库查找路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125812/

相关文章:

java - 为通过 Google Cloud Endpoints 公开的 API 方法提供文档

java - 文本识别库,Android、Java 代码?

java - 动态访问 alfresco-global.properties

java - 在 IntelliJ IDEA 中运行单个 Junit 测试

java - 在 dropwizard 资源类中使用 jdbi sql 接口(interface)

java - 在 java 中实现正确的 C# 事件(而不是委托(delegate))

java - ImageJ 打开 imagePlus 窗口作为桌面 Pane 内的内部框架

java - 如何在 java 8 中使用 IntelliJ 中的集合工厂方法

java - 如何在 java/android 中漂亮地格式化 GPS 数据?

java - 如何汇总对象列表的各个字段并以单个对象的形式返回结果