Quantcast
Channel: GUJ - Tópicos com a tag java
Viewing all articles
Browse latest Browse all 17410

Erro no java: java.lang.ClassCastException

$
0
0

@LooKs escreveu:

estou tendo o seguinte erro quando tendo fazer o retorno da classe carregada dinamicamente:
java.lang.ClassCastException: java.lang.String cannot be cast to java.net.Socket

classe que é carregada de forma dinamica

public static Socket servidor(){
        Socket conexaoCliente = null;
            try{
    //          JOptionPane.showMessageDialog(null, "lol \n" + resultados.toString());
                ServerSocket servidor = new ServerSocket(Integer.parseInt(resultados.get(1)));
                System.out.println("A porta " + servidor.getLocalPort() + " esta aberta para conexão");
                System.out.println("Mensagem do servidor: Bom dia/tarde/noite");
                JOptionPane.showMessageDialog(null, "Estou esperando uma conexão");
            conexaoCliente = servidor.accept();
            JOptionPane.showMessageDialog(null, "Estou conectato");
            System.out.println("O cliente" + conexaoCliente.getInetAddress().getHostAddress()+" esta conectado");
//               Escreve escreve = new Escreve(resultados.get(1), conexaoCliente, nC );
//               new Thread(escreve).start();
//                JOptionPane.showMessageDialog(null, "Olha esse contador: " + nC);
                nC++;
        }catch(IOException e){
            System.out.println("Erro: " + e.getMessage());
        }
            return conexaoCliente;
    }

classe que invoca a outra dinamicamente:

    public static void carregaComunicação(){
                caminhoArquivoComunica = new String(suporte.getCaminhoJarComunicacao());
            try{
                myJarFile = new URL("file:///"+ caminhoArquivoComunica); 
                URLClassLoader cl = URLClassLoader.newInstance(new URL[]{myJarFile});
                Jarred = cl.loadClass(suporte.getCaminhoPacoteComunica());
                simpleWriter = Jarred.getMethod("setParams", new Class[] {String.class});
                JarredObject = Jarred.newInstance();
                Object response = simpleWriter.invoke(JarredObject, suporte.getMensagemFinalComunicacao());
                suporte.setServidor((Socket) response);
                JOptionPane.showMessageDialog(null, "=D");
                //JOptionPane.showMessageDialog(null, "mensagem enviada: " + suporte.getMensagemFinalComunicacao() + "\n caminho especificado" + caminhoArquivoComunica );
            }catch(IllegalArgumentException e){
                System.out.println("Argumentos invalidos1-1: " + e.getMessage());
            }catch(IllegalAccessException ex){
                System.out.println("Acesso negado1-2: " + ex.getMessage());
            }catch(InvocationTargetException erro){
                System.out.println("O metodo nao pode ser invocado1-3: " + erro.getMessage());
            }catch(MalformedURLException e){
                System.out.println("Erro no caminho do arquivo1-4: " + e.getMessage());
            }catch(InstantiationException e){
                System.out.println("Erro ao instanciar o objeto1-5: " + e.getMessage());
            }catch(NoSuchMethodException e){
                System.out.println("Erro ao carregar o metodo1-6: " + e.getMessage());
            }catch(SecurityException ex){
                System.out.println("Erro no tipo do metodo1-7: " + ex.getMessage());
            }catch(ClassNotFoundException e){
                System.out.println("Erro no carregamento do pacote/classe1-8: " + e.getMessage());
            }
        }

não consigo capturar o retorno, pois preciso do retorno para usar em outra parte do codigo

OBS: a classe servidor é um .jar que esta sendo carregada de forma dinamica ._.

Mensagens: 3

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 17410

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>