12
respostas

O jar não é executado

Eu fiz download no arquivo jar, pus na pasta cdc-admin executei e vem o seguinte erro no prompt

PS C:\JS\alberto\cdc-admin> java -jar jar-cdc-react.jar Error: Unable to access jarfile jar-cdc-react.jar

Eu vi varias mensagens iguais no forum sem solução. Há algo a fazer para resolver isso?

12 respostas

Oi Valmyr tudo certo ?

temos que descompactar com o nome do arquivo, no caso:

java -jar cdcreact-1.0.0-SNAPSHOT.jar

Deu certo. Agora ele rodou igual ao do video. Só que quando eu ponho o http://localhost:8080/api/autores no browser ele dá página inexistente.

Mais um detalhe importante na porta localhost3000 deu um erro gigante no console que é esse aqui

index.js:1446 Warning: Failed prop type: You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.

E depois mais este

:8080/api/autores:1 Failed to load resource: net::ERR_CONNECTION_REFUSED

O endereço do App.js está correto

 componentDidMount(){
    console.log("didMount");
    $.ajax({
        url:"http://localhost:8080/api/autores",
        dataType: 'json',
        success:function(resposta){    
          console.log("chegou a resposta");          
          this.setState({lista:resposta});
        }.bind(this)
      } 
    );          
  }

O que eu faço?

Oi Valmyr beleza ?

Posta o código completoApp.js para gente conferir

A qui está o código do meu App.js

import React, { Component } from 'react';

import './css/pure-min.css';
import './css/side-menu.css';
import $ from 'jquery';
class App extends Component {

  constructor(){
    super();
    this.state = {lista:[]};

  }
  componentDidMount(){
    console.log("didMount");
    $.ajax({
        url:"http://localhost:8080/api/autores",
        dataType: 'json',
        success:function(resposta){    
          console.log("chegou a resposta");          
          this.setState({lista:resposta});
        }.bind(this)
      } 
    );          
  }
  render() {
    return (

      <div id="layout">

    <a href="#menu" id="menuLink" className ="menu-link">

        <span></span>
    </a>

    <div id="menu">
        <div className="pure-menu">
            <a className="pure-menu-heading" href="#">Company</a>

            <ul className="pure-menu-list">
                <li className="pure-menu-item"><a href="#" className="pure-menu-link">Home</a></li>
                <li className="pure-menu-item"><a href="#" className="pure-menu-link">Autor</a></li>
                <li className="pure-menu-item"><a href="#" className="pure-menu-link">Livro</a></li>



            </ul>
        </div>
    </div>

    <div id="main">
        <div className="header">
            <h1>Autor de Livros</h1>

        </div>
        <div id="main">
            <div className="header">
              <h1>Cadastro de Autores</h1>
            </div>
            <div className="content" id="content">
              <div className="pure-form pure-form-aligned">
                <form className="pure-form pure-form-aligned">
                  <div className="pure-control-group">
                    <label htmlFor="nome">Nome</label> 
                    <input id="nome" type="text" name="nome" value=""  />                  
                  </div>
                  <div className="pure-control-group">
                    <label htmlFor="email">Email</label> 
                    <input id="email" type="email" name="email" value=""  />                  
                  </div>
                  <div className="pure-control-group">
                    <label htmlFor="senha">Senha</label> 
                    <input id="senha" type="password" name="senha"  />                                      
                  </div>
                  <div className="pure-control-group">                                  
                    <label></label> 
                    <button type="submit" className="pure-button pure-button-primary">Gravar</button>                                    
                  </div>
                </form>             

              </div>  
              <div>            
                <table className="pure-table">
                  <thead>
                    <tr>
                      <th>Nome</th>
                      <th>email</th>
                    </tr>
                  </thead>
                  <tbody>
                    {
                      this.state.lista.map(function(autor){
                        return(
                            <tr>
                              <td>{autor.nome}</td>
                              <td>{autor.email}</td>
                            </tr>  
                        );
                      })
                    }
                  </tbody>
                </table> 
              </div>             
            </div>
          </div>           


    </div>
</div>

    );
  }
}

export default App;

Eu peguei o código pronto relativo ao capitulo 3 e salvei na maquina e executei o mesmo procedimento. O resultado foi igual. A porta localhost:8080/api/autores não pode ser encontrada a porta localhost:3000 não tem problemas mas a 8080 não é encontrada

Fala Valmyr beleza ?

Se não estamos conseguindo conectar com o localhost:8080 então o jar não funcionou.

Pode postar o log do jar aqui ? Qual a versão do seu mysql ?

Bom dia Felipe Desculpe eu não sei o que é o "log do jar" e eu nunca instalei o mysql. Eu tenho o java pq também estou estudando a formação java, mas não tinha entendido que deveria instalar o mysql. Talvez ai esteja o X da questão. Pode me ajudar?

Claro Valmyr,

Aqui tem o passo a passo para instalar o mysql 5.7

https://cursos.alura.com.br/course/react/task/19739

Depois de instalar tente subir o jar novamente e acessar o localhost

Já instalei o MySQL. Fui na própria Alura, segui o passo a passo e instalei. Subi de novo o servidor com ao código que me passou, abri a porta localhost3000 mas quando tento acessar o localhost:8080/api/autores simplesmente ele não acha.

Estou exatamente no mesmo ponto e não consigo seguir. O que me sugerem

Estou exatamente no mesmo ponto e não consigo seguir. O que me sugerem. Refiz tudo passo a passo em outro computador e o problema é o mesmo.