• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Feanorsoul

java.lang.NoClassDefFoundError

3 mensagens neste tópico

Boas. Sou algo novato com o JMS, mas tenho aqui uma duvida que não deve ter propriamente a ver com o JMS em si. È o seguinte:

import javax.naming.*;
import javax.jms.*;

public class HelloWorldJmsProducer {
  public final static String JMS_FACTORY="ProdutordaFilinha";
  public final static String QUEUE="Filinha";

  public static void main(String args[]) {
    try {
      QueueConnectionFactory queueConnectionFactory;
      QueueConnection queueConnection;
      QueueSession queueSession;
      QueueSender queueSender;
      Queue queue;
      TextMessage msg;

      
      //Cria objecto
      ObjectoCoiso obj1 = new ObjectoCoiso();
      
      //teste
      ObjectMessage objs;

      InitialContext ctx = new InitialContext();
      queueConnectionFactory  = (QueueConnectionFactory)ctx.lookup(JMS_FACTORY);
      queue = (Queue) ctx.lookup(QUEUE);

      queueConnection = queueConnectionFactory.createQueueConnection();
      queueSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
      queueSender   = queueSession.createSender(queue);
      
      msg = queueSession.createTextMessage();
      msg.setText("Hello World");
      
      //teste
      objs = queueSession.createObjectMessage();
      objs.setObject(obj1);

      
      queueConnection.start();
      queueSender.send(msg);

      queueSender.close();
      queueSession.close();
      queueConnection.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Tenho esse código, que supostamente iria receber uma mensagem do Produtor da queue. Mas quando compilo no NetBeans gera-me a seguinte excepção:

java.lang.NoClassDefFoundError: HelloWorldJmsConsumer

Caused by: java.lang.ClassNotFoundException: HelloWorldJmsConsumer

        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

Gostaria de saber se alguém sabe qual é o problema. Penso que terá a ver com o ClassPath mas mesmo que seja não sei como resolver.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL era um objecto de teste. Já resolvi o problema. Alterei o classpath e ficou a funcar. Podem apagar o tópico.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora