`
redsky008
  • 浏览: 347095 次
  • 性别: Icon_minigender_1
  • 来自: 成都正在项目
社区版块
存档分类
最新评论

动态设置系统环境变量 java.lang.UnsatisfiedLinkError: no xxx in java.library.path

阅读更多
转自:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4280189




	/***
	 * 该方法基本上解决了动态加载dll路径问题、
	 * 如java.lang.UnsatisfiedLinkError: no xxx in java.library.path
	 * @param s 环境变量路径
	 * @throws IOException
	 */
	public static void addDir(String s) throws IOException {
		try {
			Field field = ClassLoader.class.getDeclaredField("usr_paths");
			field.setAccessible(true);
			String[] paths = (String[]) field.get(null);
			for (int i = 0; i < paths.length; i++) {
				if (s.equals(paths[i])) {
					return;
				}
			}
			String[] tmp = new String[paths.length + 1];
			System.arraycopy(paths, 0, tmp, 0, paths.length);
			tmp[paths.length] = s;
			field.set(null, tmp);
		} catch (IllegalAccessException e) {
			throw new IOException(
					"Failed to get permissions to set library path");
		} catch (NoSuchFieldException e) {
			throw new IOException(
					"Failed to get field handle to set library path");
		}
	}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics