我把package com.ecc.test打成test.jar test里有一个class 和 一个 test.so文件
我现在方法 System.load("test.so的路径")
那我现在这个路径怎么取??
------解决方案--------------------
把jar放在WEB-INF/lib,直接取类名:com.ecc.test
------解决方案--------------------
给你个例子,对照着看。
- Java code
public static void main(String[] args) throws IOException { String resourcePath = "/javax/sql/rowset/rowset.properties"; // resource URL System.out.println(Thread.currentThread().getClass().getResource(resourcePath)); // resource stream InputStream is= Thread.currentThread().getClass().getResourceAsStream(resourcePath); // output BufferedReader br=new BufferedReader(new InputStreamReader(is)); String s; while ((s = br.readLine()) != null) { System.out.println(s); } }
------解决方案--------------------
取到了路径,你也未必能访问啊。。。
URL url = this.getClass().getResource("路径名/test.so");
如果你只是希望读取该文件内容的话,可以:
InputStream is = this.getClass().getResourceAsStream("路径名/test.so");
------解决方案--------------------
jni吧 我记得是不能放到jar包里