Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2012, 14:02
KONQISTADOR
 
Fecha de Ingreso: marzo-2010
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta MySql dentro de un Jar con mxj?

Necesito hacer una aplicación Java con mysql dentro del Jar

Estoy comenzando a usar mxj para incrustar mysql en mi jar, ya baje los respectivos archivos y los puse en classpath, probe unos ejemplos que trae pero no consigo lo que quiero... con el ejemplo:


Cita:
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import com.mysql.management.driverlaunched.ServerLauncher SocketFactory;
import com.mysql.management.util.QueryUtil;
public class ConnectorMXJUrlTestExample {
public static String DRIVER = "com.mysql.jdbc.Driver";
public static String JAVA_IO_TMPDIR = "java.io.tmpdir";
public static void main(String[] args) throws Exception {
File ourAppDir = new File(System.getProperty(JAVA_IO_TMPDIR));
File databaseDir = new File(ourAppDir, "test-mxj");
int port = Integer.parseInt(System.getProperty("c-mxj_test_port", "3336"));
String dbName = "our_test_app";
String url = "jdbc:mysql:mxj://localhost:" + port + "/" + dbName //
+ "?" + "server.basedir=" + databaseDir //
+ "&" + "createDatabaseIfNotExist=true"//
+ "&" + "server.initialize-user=true" //
;
System.out.println(url);
String userName = "alice";
String password = "q93uti0opwhkd";
Class.forName(DRIVER);
Connection conn = null;
try {
conn = DriverManager.getConnection(url, userName, password);
String sql = "SELECT VERSION()";
String queryForString = new QueryUtil(conn).queryForString(sql);
System.out.println("------------------------");
System.out.println(sql);
System.out.println("------------------------");
System.out.println(queryForString);
System.out.println("------------------------");
System.out.flush();
Thread.sleep(100); // wait for System.out to finish flush
} finally {
try {
if (conn != null)
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
ServerLauncherSocketFactory.shutdown(databaseDir, null);
}
}
}
Lo que hace es poner el mysql en una carpeta que yo especifique, el asunto es que quiero ponerlo es dentro del mismo jar, la base de datos y todo este siempre dentro del Jar.
Es decir generar un jar que tenga las clases, el motor mysql, la db ya creada con sus respectivas tablas lista para recibir datos y consultas... al parecer mxj lo puede hacer pero no se como, pues ese ejmplo que dan en la documentacion no dej la db dentro del Jar


File ourAppDir = new File(System.getProperty(JAVA_IO_TMPDIR));
File databaseDir = new File(ourAppDir, "test-mxj");


Trate de manipular estas dos líneas de mil maneras para que la carpeta test-mxj la creara dentro del Jar, pero siempre la creo fuera del Jar