diff --git a/pom.xml b/pom.xml index a62e257..3e169f6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ usb4java jar usb4java - 1.3.0 + 1.3.1-SNAPSHOT http://usb4java.org/ USB library for Java based on libusb and implementing javax-usb (JSR-80). @@ -60,14 +60,14 @@ UTF-8 - 1.3.0 + 1.3.1-SNAPSHOT scm:git:git://github.com/usb4java/${project.artifactId}.git scm:git:ssh://git@github.com/usb4java/${project.artifactId}.git http://github.com/usb4java/${project.artifactId} - usb4java-1.3.0 + HEAD diff --git a/src/main/java/org/usb4java/Loader.java b/src/main/java/org/usb4java/Loader.java index 3706e44..8d8339a 100644 --- a/src/main/java/org/usb4java/Loader.java +++ b/src/main/java/org/usb4java/Loader.java @@ -300,6 +300,11 @@ private static String extractLibrary(final String platform, * times. Duplicate calls are ignored. This method is automatically called * when the {@link LibUsb} class is loaded. When you need to do it earlier * (To catch exceptions for example) then simply call this method manually. + *

+ * If the system property org.usb4java.LibraryName is defined, then + * instead of going through the classpath looking for the appropriate DLL, + * extracting it, etc., we simply call {@link System#loadLibrary}, passing + * in the value of the property. * * @throws LoaderException * When loading the native wrapper libraries failed. @@ -313,13 +318,21 @@ public static synchronized void load() } loaded = true; - final String platform = getPlatform(); - final String lib = getLibName(); - final String extraLib = getExtraLibName(); - if (extraLib != null) + final String libraryName = System.getProperty("org.usb4java.LibraryName"); + if (libraryName != null) { - System.load(extractLibrary(platform, extraLib)); + System.loadLibrary(libraryName); + } + else + { + final String platform = getPlatform(); + final String lib = getLibName(); + final String extraLib = getExtraLibName(); + if (extraLib != null) + { + System.load(extractLibrary(platform, extraLib)); + } + System.load(extractLibrary(platform, lib)); } - System.load(extractLibrary(platform, lib)); } } diff --git a/src/site/apt/faq.apt.vm b/src/site/apt/faq.apt.vm index 5bd958e..620d3d7 100644 --- a/src/site/apt/faq.apt.vm +++ b/src/site/apt/faq.apt.vm @@ -24,7 +24,7 @@ Frequently asked questions ---- This means that whenever a USB device with vendor id <0x89ab> and product id - <0x4567> is attached then the group is permitted to + <0x4567> is attached then the group is permitted to write to the device. So make sure your user is in that group (or use a different group).