在哪里放置在DLL Maven项目

时间:2019-02-01 12:29:50

标签: java eclipse maven jdbc

我已经下载SQL JDBC驱动程序,我想在我的Maven的Eclipse Java项目使用。我应该在哪里放置sqljdbc_auth.dll文件,以便我可以运行我在Eclipse IDE项目。那我该告诉Maven吗?

UPD

我已经把public class CustomProgressBar extends ProgressBar { private static final long DEFAULT_DELAY = 500; private static final long DEFAULT_DURATION = 1000; public CustomProgressBar(Context context) { super(context); } public CustomProgressBar(Context context, AttributeSet attrs) { super(context, attrs); } public CustomProgressBar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public synchronized void setProgress(float progress) { super.setProgress((int) progress); } @Override public synchronized void setProgress(int progress) { super.setProgress(progress); } public void startLcpProgressAnim(int progressTo) { startLcpProgressAnim(DEFAULT_DELAY, progressTo); } public void startLcpProgressAnim(long delay, int progressTo) { startLcpProgressAnim(DEFAULT_DURATION, delay, progressTo); } public void startLcpProgressAnim(long duration, long delay, float progressTo) { ObjectAnimator animation = ObjectAnimator. ofFloat(this, "progress", (float)this.getProgress(), progressTo); animation.setDuration(duration); animation.setStartDelay(delay); animation.start(); } } sqljdbc_auth.dll,但是这没有帮助:

src/main/resources

2 个答案:

答案 0 :(得分:0)

如果您已经拥有.dll文件,只需将其存储在项目的src / main / resources目录中,Maven会将其放置在目标jar的根目录中。

答案 1 :(得分:0)

您可以将dll文件放置在文件系统上的任何位置。您只需要确保JVM知道它们的路径即可。

要让JVM知道如何加载dll,必须使用磁盘上dll的路径更新java.library.path变量。

在Eclipse中,您可以通过修改eclipse安装的根文件夹中的eclipse.ini文件来执行此操作,也可以在“自变量”选项卡->“ VM自变量”中针对每个运行配置执行此操作。

这是需要添加的行:

-Djava.library.path=<path-to-your-dll>

如果将应用程序打包为可运行的jar,则同样适用。在这种情况下,命令为:

java -Djava.library.path=<path-to-your-dll> -jar myjar.jar

但是,您需要了解以下事实:您的dll也可能具有依赖项,并且它们由操作系统解决。本质上,在系统的PATH变量中也包含dll的路径将是一个好主意。

更新

在eclipse.ini中,需要在-vmargs行之后添加此属性:

-vmargs
-Djava.library.path=<path-to-your-dll>
.....