Puede utilizar Java para instalar las bibliotecas externas mediante programación utilizando Class.getResourceAsStream()
y una FileOutputStream
. Las bibliotecas generalmente irán en Java\lib\ext\
.
Así es como me acercaba a ella:
Me colocaron una copia de toda la del utilicé en un sub-paquete .res
JAR. A partir de ahí, puedo copiarlos en cualquier lugar.
private void installLibraries() {
new Thread() {
@Override
public void run() {
System.out.println("Checking for libraries");
File jre = new File(System.getProperty("java.home"));
File jar = new File(jre, "lib/ext/JAR_NAME.jar");
//Create more File objects that wrap your JAR's
try {
boolean added = false;
if (!jar.exists()) {
copyResource(jar, "JAR_NAME.jar");
added = true;
}
//Repeat for more JAR's
if (added) {
System.out.println("Libraries installed.");
} else {
System.out.println("Library check complete");
} catch (IOException ex) {
System.out.println("Library installation failed.");
ex.printStackTrace(System.out);
}
}
private void copyResource(File dest, String src) throws IOException {
System.out.println("Copying resource " + src + " to " + dest);
InputStream in = THIS_CLASS_NAME.class.getResourceAsStream("/YOUR_PACKAGE/res/" + src);
dest.getParentFile().mkdirs();
FileOutputStream out = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int i = 0;
while ((i = in.read(buffer)) > 0) {
out.write(buffer, 0, i);
}
out.close();
in.close();
}
}.start();
}
Ejecutar este método antes de hacer cualquier otra cosa, y se puede ignorar por completo los archivos JAR externos que Netbeans le da, y acaba de distribuir el uno. Como nota adicional, utilicé este método para instalar javax.comm
, que no me gustó que se distribuyera de forma externa. Venía con un archivo .dll y un archivo de propiedades. Estos archivos se pueden instalar utilizando el mismo método exacto, pero vale la pena señalar que el.el archivo dll debe colocarse en el directorio Java\lib\
y los archivos de propiedades van en el directorio Java\lib\
(no en la carpeta \ext
).
Pruebe este blogpost ... http://arunasujith.blogspot.com/2011/08/how-to-build-fat-jar-using-netbeans.html –