created by aha00a at 2012-07-28
last modified by aha00a at 2012-07-28
revision: 2

Java -Djava.library.path Using Code

[wiki:JavaMinusDJavaLibraryPathUsingCode Java -Djava.library.path Using Code]

Java의 VM option중 -Djava.library.path를 code로 설정하는 방법

public class JavaLibraryPathUtil {
	public static void addDir(String dir) 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 (dir.equals(paths[i])) {
					return;
				}
			}
			String[] tmp = new String[paths.length+1];
			System.arraycopy(paths, 0, tmp, 0, paths.length);
			tmp[paths.length] = dir;
			field.set(null,tmp);
			System.setProperty("java.library.path", System.getProperty("java.library.path") + File.pathSeparator + dir);
		} 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");
		}
	}

}

2. See Also

2.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

  • 31.60% JavaHome java(6:18), library(11:5), path(11:2), system(4:2), usr(1:4), vm(1:2)
  • 31.26% Java java(6:18), library(11:3), path(11:1), string(5:1), djava(5:1), code(3:1), class(3:1), using(3:1), for(1:2), wiki(1:1)

2.3. Adjacent Pages