error-is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.restartclassloader@74b715ff)

zu0ti5jz  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(3295)

我有这个问题,想用netbeans来解决,我还不知道如何从提示符下使用maven,我找到了一个解决方案,但是它是从提示符下出现的,有人知道怎么做吗?谢谢!
原因:java.lang.classcastexception:class java.util.immutablecollections$list12不能强制转换到类br.edu.iff.projetoestoque.model.FunctionarioResp(java.util.immutablecollections$list12在加载程序“bootstrap”的模块java.base中);br.edu.iff.projetoestoque.model.functionarioresp位于loader org.springframework.boot.devtools.restart.classloader.restartclassloader@35b254b3)的未命名模块中

完全错误

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-04-05 21:31:38.175 ERROR 15452 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Failed to execute CommandLineRunner
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:809) ~[spring-boot-2.4.4.jar:2.4.4]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:790) ~[spring-boot-2.4.4.jar:2.4.4]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:333) ~[spring-boot-2.4.4.jar:2.4.4]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313) ~[spring-boot-2.4.4.jar:2.4.4]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[spring-boot-2.4.4.jar:2.4.4]
    at br.edu.iff.projetoEstoque.ProjetoEstoqueApplication.main(ProjetoEstoqueApplication.java:32) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.4.4.jar:2.4.4]
Caused by: java.lang.ClassCastException: class java.util.ImmutableCollections$List12 cannot be cast to class br.edu.iff.projetoEstoque.model.FuncionarioResp (java.util.ImmutableCollections$List12 is in module java.base of loader 'bootstrap'; br.edu.iff.projetoEstoque.model.FuncionarioResp is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @74b715ff)
    at br.edu.iff.projetoEstoque.ProjetoEstoqueApplication.run(ProjetoEstoqueApplication.java:75) ~[classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:806) ~[spring-boot-2.4.4.jar:2.4.4]
    ... 10 common frames omitted

2021-04-05 21:31:38.204  INFO 15452 --- [  restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2021-04-05 21:31:38.204  INFO 15452 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-04-05 21:31:38.204  INFO 15452 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-04-05 21:31:38.219  INFO 15452 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time:  12.710 s
Finished at: 2021-04-05T21:31:39-03:00
------------------------------------------------------------------------

类函数

package br.edu.iff.projetoEstoque.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class FuncionarioResp extends Funcionario{

    @Column(length = 10,nullable = false)
    @NotBlank(message = "Usuário obrigatório.")
    @Length(max = 10,message = "Usuário deve ter no máximo 10 caracteres.")
    private String usuario;
    @Column(length = 6,nullable = false)
    @NotBlank(message = "Senha obrigatória.")
    @Length(max = 6, min = 6, message ="A senha deve conter 6 caracteres.")
    private String senha;

    @JsonIgnore
    @OneToMany(mappedBy = "funcionarioresp")
    @Valid
    private List<Entrada> entradas = new ArrayList<>();
    @JsonIgnore
    @OneToMany(mappedBy = "funcionarioresp")
    @Valid
    private List<Despache> despaches = new ArrayList<>();

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

   public List<Entrada> getEntradas() {
        return entradas;
    }

    public void setEntradas(List<Entrada> entradas) {
        this.entradas = entradas;
    }

    public List<Despache> getDespaches() {
        return despaches;
    }

    public void setDespaches(List<Despache> despaches) {
        this.despaches = despaches;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public FuncionarioResp() {
    }

}

entrada存储库

添加此存储库时出现错误。

package br.edu.iff.projetoEstoque.repository;
import br.edu.iff.projetoEstoque.model.Entrada;
import java.util.List;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface EntradaRepository extends JpaRepository<Entrada, Long>{

    public List<Entrada> findByFuncionariorespId(Long funcionariorespId, Pageable page);

}

应用

package br.edu.iff.projetoEstoque;

//import br.edu.iff.projetoEstoque.model.Alocacao;
import br.edu.iff.projetoEstoque.model.Entrada;
import br.edu.iff.projetoEstoque.model.FuncionarioAdm;
import br.edu.iff.projetoEstoque.model.FuncionarioResp;
import br.edu.iff.projetoEstoque.model.Produto;
import br.edu.iff.projetoEstoque.repository.EntradaRepository;
import br.edu.iff.projetoEstoque.repository.FuncionarioAdmRepository;
import br.edu.iff.projetoEstoque.repository.FuncionarioRespRepository;
import br.edu.iff.projetoEstoque.repository.ProdutoRepository;
import java.util.Calendar;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProjetoEstoqueApplication implements CommandLineRunner{
    @Autowired
    private FuncionarioRespRepository funcionarioRespRepo;
    @Autowired
    private FuncionarioAdmRepository funcionarioAdmRepo;
    @Autowired
    private ProdutoRepository produtoRepo;
     @Autowired
    private EntradaRepository entradaRepo;

    public static void main(String[] args) {
        SpringApplication.run(ProjetoEstoqueApplication.class, args);
    }

        @Override
        public void run(String... args) throws Exception{

            //FuncionarioResp

            FuncionarioResp fr1 = new FuncionarioResp();
            fr1.setNome("Ana");
            fr1.setCpf("368.428.700-89");
            fr1.setEmail("anacasdr@gmail.com");
            fr1.setUsuario("anaca");
            fr1.setSenha("060320");
            funcionarioRespRepo.save(fr1);

            //fr1.setDespaches();

            //FuncionarioAdm

            FuncionarioAdm fa1 = new FuncionarioAdm();
            fa1.setNome("Hiwri");
            fa1.setCpf("856.280.040-65");
            fa1.setEmail("hiwri@gmail.com");
            fa1.setUsuario("hiwri");
            fa1.setSenha("330260");
            fa1.setChave("2563569635");

            funcionarioAdmRepo.save(fa1);

            //Produto

            Produto p1 = new Produto();

            p1.setNome("Geladeira");
            p1.setCategoria("Eletrodomestico");
            p1.setPeso((int) 10.00);

            produtoRepo.save(p1);

             Entrada e1 = new Entrada();

            e1.setFuncionarioresp((FuncionarioResp) List.of(fr1));
            e1.setProduto((Produto) List.of(p1));
           // e1.setAlocacao((Alocacao) List.of(a1));

            e1.setDataHoraEntrada(Calendar.getInstance());

            entradaRepo.save(e1);

        }

}

pom.xml文件

<?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.4.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>br.edu.iff</groupId>
    <artifactId>projetoEstoque</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>projetoEstoque</name>
    <description>Projeto para a disciplina de programação para WEB.</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
                <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
     <dependency>
      <groupId>jakarta.validation</groupId>
      <artifactId>jakarta.validation-api</artifactId>
      <version>2.0.2</version>
      <type>jar</type>
     </dependency>
     <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.1.7.Final</version>
      <type>jar</type>
     </dependency>
    </dependencies>

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

</project>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题