【问题标题】:How to attach DLL file in maven based project如何在基于 maven 的项目中附加 DLL 文件
【发布时间】:2017-03-08 22:54:07
【问题描述】:

你能告诉我如何以优雅的方式将dll 文件附加到我基于 maven 的项目中吗?

当我输入 system32 时,id 确实有效(当然,因为 system32 属于 PATH)。但是,我的目标是让应用程序更便携(当然在基于 Windows 的操作系统中)
有什么想法吗?

【问题讨论】:

    标签: java windows maven dll


    【解决方案1】:

    如何将 dll 放在资源文件夹中,然后在运行时复制并执行操作。就像下面的代码。

     package dllportable;
    
        import java.io.File;
        import java.io.IOException;
        import java.net.URISyntaxException;
        import java.net.URL;
        import java.nio.file.Files;
    
        public class dllportable {
    
            public static void main(String[] args) throws URISyntaxException, IOException {
                URL url=dllportable.class.getClassLoader().getResource("config.dll");
                System.out.println(url.toURI());
                Files.copy(new File(url.toURI()).toPath(), new File("C:\\haroon\\config.dll").toPath());
    // Then your Operations on the DLL
            }
    
        }
    

    【讨论】:

    • 为什么这被否决了?用户提到附加 dll 而不是在 maven 项目中使用 DLL。如果关于使用 dll,可以建议 JNI
    • 让我们推荐这个 JNI,然后我接受你的帖子。我不知道JNI是什么意思,但效果应该是app是可移植的。
    • JNI 是 Java 原生接口。当我们有一些 Java 库和一些不同技术(如 .Net 或 C++)的库时,JNI 用于弥合这些差距。我过去使用 Com4J github.com/kohsuke/com4j 来搭建桥梁。如果我是对的,您的便携式应用程序在 VB.NET 中。我希望看到有关如何进行的更好的细节。作为 JNI 或保持原样作为 dll。因为它包括时间投资。
    • 同样对于 VB.net,如果我们没有为您拥有的特定 exe 创建任何特定 dll,我们可以让 exe 在 Windows 中运行。作为一个仅供参考...
    • 我的问题看起来:在日志中我得到错误:无法找到 dll:someLibrary.dll 当我将它放入某个 PATH 目录(例如 system32)时,它确实有效。但是,我想获得通用解决方案,没有副本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多