我有这个问题,想用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>
暂无答案!
目前还没有任何答案,快来回答吧!