Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.core.runtime.CoreException
Buen dia, tengo un problema quiero hacer una consulta a una base de datos Oracle desde java por consola nomas para probar mi conexion, desde el metodo main, y al ejecutarlo me sale esto:
Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.core.runtime.CoreException
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at com.ibm.ws.webservices.multiprotocol.discovery.ServiceProviderManager.getDiscoveredServiceProviders(ServiceProviderManager.java:378)
alquien me puede ayudar me fije en temas parecidos pero aun no encuentro la solucion!!!!
- Inicie sesión o regístrese para enviar comentarios
Para poder ayudarte necesitas
Para poder ayudarte necesitas postear el fragmento de codigo relevante, el comando (asumo que es comando de shell) que estas ejecutando, y el classpath de la instrucción java.
Saludos.
aca esta mi codigo
Puse las importaciones correctas, en este caso la omiti porq no me deja pegar mas codigos asi q puse todo lo q esta dentro de mi clase:
public class Prueba1 {
public static synchronized Connection getPoolConnDataCom() throws Exception {
Connection cnx=null;
ConnectionPool pool = null;
BnParametroDb par = new BnParametroDb();
pool = par.getPoolDataCom();
try {
cnx = pool.getConnection();
} catch (Exception e) {
System.out.print("error");
throw e;
}
return cnx;
}
public static void main(String[] args) {
List lsItems=null;
PreparedStatement stmt = null;
ResultSet rs = null;
Connection conn = null;
try{
Conexionoracle cn = new Conexionoracle();
conn = cn.getConectionSRPMH();
//Bnpcf21Item item=new Bnpcf21Item();
String sql="SELECT * FROM TAGENCIAS";
stmt = conn.prepareStatement(sql);
//stmt.setString(1, idTabla);
lsItems=new ArrayList();
rs = stmt.executeQuery();
while(rs.next()){
lsItems.add(rs);
}
}catch(SQLException e){
System.out.print("error");
} catch (Exception e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
}finally{
//if(rs!=null){rs.close();rs= null;};
//if(stmt !=null){stmt.close();stmt = null;};
//if(conn !=null){conn.close();conn = null;};
}
for(int i=0; i
sige el codigo
alguien sabe?
El codigo que posteaste no es
El codigo que posteaste no es el que abre la conexión, quiza es tu Conexionoracle() o BnParametroDb. Realmente no es muy claro el codigo.
Lo que normalmente se hace cuando no tienes un servidor de aplicaciones con datasources que usas por medio de JNDI (infiero que compilar tu .java, o metes en un jar y lo corres con java -jar o algo parecido), normalmente haces un class.forName del driver y lo cargas en el drivermanager. Hay muchisimos ejemplos en internet para hacer eso.
Ahora, en el stacktrace aparecen cosas de eclipse. Probablemente lo ejecutaste desde ahi. Necesitas ver que tu classpath este bien configurado, y ver el error completo para ver cual es la clase que realmente no esta cargando.
Algo que tambien puede ser
Algo que tambien puede ser util es que busques en el stacktrace la primera mencion de una clase que tu escribiste. Te va a dar un tip de cual es la clase que no esta cargando y por ende el codigo que debes corregir.
segun la informacion que estaba buscando me faltaba un jar
Mi conexion Oracle esta bien y estoy utilizando el RAD, Rational Application Developer
Puse el jar en la libreria d mi proyecto que es: com.ibm.ws.webservices.thinclient_6.1.0.jar
y ahora me sale otro error:
28/02/2012 04:14:54 PM com.ibm.ws.naming.java.javaURLContextFactory
SEVERE: javaAccessorNotSet
28/02/2012 04:14:55 PM com.ibm.ws.ssl.config.SSLConfigManager
INFO: ssl.disable.url.hostname.verification.CWPKI0027I
28/02/2012 04:14:55 PM com.ibm.ws.webservices.engine.InternalException
SEVERE: WSWS3227E: Error: Excepción:
java.lang.Exception: WSWS3028E: Error: No se ha encontrado una clase _Helper para pe.com.bn.comp.ws.bean.SistemaParametro.
at com.ibm.ws.webservices.engine.InternalException.(InternalException.java:124)
at com.ibm.ws.webservices.engine.encoding.ser.BeanDeserializerFactory.getDeserializerMethod(BeanDeserializerFactory.java:219)
at com.ibm.ws.webservices.engine.encoding.ser.BaseDeserializerFactory.lazyInitialization(BaseDeserializerFactory.java:150)
Ese ya parece mas bien
Ese ya parece mas bien configuracion especifica de tu sistema. Tienes que revisar bien que classpath debes poner, y configuración adicional que tu aplicación necesite. Ese ya no es un problema generico de java que se pueda resolver en un foro.
mi codigo, esta bien asi?
public class Prueba1 {
public Connection getConectionSRPMH(
) throws SQLException,Exception {
Connection conetion = null;
try {
ParamConJDNI paramConJDNI = BnContextParametro.getParamServiceSrpmhJdni();
String jdni = paramConJDNI.getParamJNDIOracleSrpmh();
conetion = getDinamicConection(jdni);
conetion.setAutoCommit(true);
}catch(SQLException e) {
throw e;
}catch(Exception e) {
throw e;
}
return conetion;
}
private Connection getDinamicConection(
String jdni) throws SQLException,Exception {
Connection conetion = null;
try {
Context ic = new javax.naming.InitialContext();
DataSource dataSource = (javax.sql.DataSource)ic.lookup(jdni); //"jdbc/dbsach"
conetion = dataSource.getConnection();
}catch(SQLException e) {
throw e;
}catch(Exception e) {
throw e;
}
return conetion;
}
public static void main(String[] args) {
List lsItems=null;
PreparedStatement stmt = null;
ResultSet rs = null;
Connection conn = null;
try{
Conexionoracle cn = new Conexionoracle();
conn = cn.getConectionSRPMH();
String sql="SELECT * FROM TAGENCIAS";
stmt = conn.prepareStatement(sql);
lsItems=new ArrayList();
rs = stmt.executeQuery();
while(rs.next()){
lsItems.add(rs);
}
}catch(SQLException e){
System.out.print("error");
} catch (Exception e) {
e.printStackTrace();
}finally{
}
for(int i=0; i