Java 如何在基于maven的项目中附加DLL文件
您能告诉我如何以优雅的方式将Java 如何在基于maven的项目中附加DLL文件,java,windows,maven,dll,Java,Windows,Maven,Dll,您能告诉我如何以优雅的方式将dll文件附加到基于maven的项目中吗 当我输入system32 id时,它确实起作用(当然,这是因为system32属于路径)。然而,我的目标是使应用程序更具可移植性(当然是在基于windows的操作系统中) 有什么想法吗?将dll放在资源文件夹中,然后在运行时复制并执行操作。就像下面的代码 package dllportable; import java.io.File; import java.io.IOException; imp
dll
文件附加到基于maven的项目中吗
当我输入system32 id时,它确实起作用(当然,这是因为system32属于路径
)。然而,我的目标是使应用程序更具可移植性(当然是在基于windows的操作系统中)有什么想法吗?将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放在资源文件夹中,然后在运行时复制并执行操作如何。就像下面的代码
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,可以建议JNILets建议这个JNI,那么我接受你的帖子。我不知道它是什么意思,但效果应该是应用程序是可移植的。JNI是Java本机接口。当我们有一些java库和一些不同技术(如.Net或C++)的库时,JNI被用来弥补这些差距。过去我用Com4J建了一座桥。如果我是对的,你的可移植应用程序在VB.NET中。我希望看到关于如何进行的更好的细节。要么作为JNI,要么作为dll保留原样。因为它包括时间投资。同样对于VB.net,如果我们没有为特定的exe创建任何特定的dll,我们可以在windows中运行exe。仅供参考…我的问题是:在日志中,我得到了错误:找不到dll:someLibrary.dll。当我把它放到某个路径目录(例如system32)中时,它确实工作了。然而,我想得到一个通用的解决方案,不知道为什么这是被否决的?。用户提到了附加dll,而不是在maven项目中使用dll。如果关于使用dll,可以建议JNILets建议这个JNI,那么我接受你的帖子。我不知道它是什么意思,但效果应该是应用程序是可移植的。JNI是Java本机接口。当我们有一些java库和一些不同技术(如.Net或C++)的库时,JNI被用来弥补这些差距。过去我用Com4J建了一座桥。如果我是对的,你的可移植应用程序在VB.NET中。我希望看到关于如何进行的更好的细节。要么作为JNI,要么作为dll保留原样。因为它包括时间投资。同样对于VB.net,如果我们没有为特定的exe创建任何特定的dll,我们可以在windows中运行exe。仅供参考…我的问题是:在日志中,我得到了错误:找不到dll:someLibrary.dll。当我把它放到某个路径目录(例如system32)中时,它确实工作了。不过,我想得到通用的解决方案,没有拷贝