Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro ao enviar o email

Após muitos problemas ja resolvidos graças a alguns do topicos aqui lidos, estou parado no seguinte: consegui empacotar o listavip e rodar o listavip-SNAPSHOT.jar , a applicação sobe de boa.. carrega o hibernate com os dados e até grava novos convidados , porem na hora de enviar o email.. estoura o erro:

Hibernate: update hibernate_sequence set next_val= ? where next_val=?
Hibernate: insert into convidado (email, nome, telefone, id) values (?, ?, ?, ?)
2020-09-15 15:09:22.046  WARN 10564 --- [tp1484171695-15] org.eclipse.jetty.server.HttpChannel     : /salvar

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: br/com/alura/enviadoremail/EmailService
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
Caused by: java.lang.NoClassDefFoundError: br/com/alura/enviadoremail/EmailService
    at br.com.alura.listavip.ConvidadoController.salvar(ConvidadoController.java:42) ~[classes!/:0.0.1-SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_265]

Ja vi muitos topicos com o mesmo problema sem RESPOSTAS! um outro problema que tenho é que pelo sts(eclipse) o projeto listavip so funciona se o enviadorEmail estiver aberto no eclipse tbm.. se eu o excluo o listavip da erro ao enviar tbm... é como se o listavip não "enxergasse" o enviadorEmail e nas lib do Maven posso ver que esta add o enviador de email. mesmo assim não vai! ja dei o

mvn clean install    

no enviadorEmail e e outros procedimentos postado em foruns dos colegas mas ainda não consegui fazer rodar ..só manda o email pelo sts e se estiver com os dois projetos abertos .. e pelo browser n envia de jeito nenhum..

ALGUEM AI CONSEGUIU !?

5 respostas

SEGUE POM DO listavip

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
     <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

  <groupId>br.com.alura.listavip</groupId>
  <artifactId>listavip</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>listavip</name>
  <description>app de lista de convidados</description>

  <properties>
        <java.version>1.8</java.version>
    </properties>

  <dependencies>
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency> 

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>

    <dependency>
        <groupId>br.com.alura.enviadoremail</groupId>
        <artifactId>enviadoremail</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

  </dependencies>

 <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

</project>

segue pom.xml enviadorEmail

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>br.com.alura.enviadoremail</groupId>
    <artifactId>enviadoremail</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>enviadoremail</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.4</version>
    </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Oi Augusto

Consegue subir os projetos no github ou google drive pra eu dar uma olhada pela minha máquina?

Abraço!

solução!

Boa noite Octavio

Hoje eu consegui resolver o problema graças a um dos posts que li aqui mesmo no forum.. deu trabalho mais consegui descobrir... o post apontava para um link de documentação do Spring.... https://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html#howto-create-an-additional-executable-jar Mais precisament o topico da solução pra mim foi o 16.5 ...alterei o pom.xml do enviadorEmail ..depois entrei na pasta do projeto e deletei a pastatarget, dei um novo

mvn clean install

em seguida entrei via terminal na raiz do projeto listavip e inferi o comando

mvn clean

em seguida

mvn package

e ai finalmente rodou tanto via linha de comando quanto pelo IDE sts .. epero que possa ajudar os demais... SEGUE o pom.xml do enviadoremail

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>br.com.alura.enviadoremail</groupId>
    <artifactId>enviadoremail</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>enviadoremail</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.4</version>
    </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
             <plugin>
                   <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                        <classifier>enviadoreemail-0.0.1-SNAPSHOT.jar</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

Perfeito Augusto

Obrigado