1- 针对打成jar包加载dll加载不了问题
在 jar中中,dll加载的并不是路径。这里我们可以采用两种方法,一种是直接打包成jar包,对应的sdk包存放于外部,用于调用即可。
例如:
HCNetSDKINSTANCE = (HCNetSDK) Native.loadLibrary("d:\\device\\hk\\HCNetSDK.dll",HCNetSDK.class);
另外一种就是打成war包,存放在resources下,tomcat部署
ResourceUtil.getResource("hk").getPath()
2- 加载外部的jar包,在平常,我们得到一个maven库没有jar包,但是需要加载到lib中去,两种方法:
一种是生成本地的maven,把对应的jar包形成版本,存放于本地中。但这种对于共同开发并不友好,所以可以采用另一种方法:
首先:resources建立lib目录, 把jar包丢进去
其次:pom中增加两个地方:
<dependency>
<groupId>com.sun.jna.examples</groupId>
<artifactId>examples</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/lib/examples.jar</systemPath>
</dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<directory>src/main/resources
<include>**/**
<filtering>false
<directory>src/main/resources
<targetPath>BOOT-INF/classes
</resource>