В настоящее время я пишу веб-сайт для университетского проекта с использованием Java.После кодирования почти всего, что мне было нужно, эта ошибка стала появляться на моем экране.Вот изображение ошибки:
is not visible">
Не только это, но и это тоже, по тому же методу.Вот изображение ошибки:
is not visible">
Ошибки в методе executarRegras (код приведен ниже).
Мой импорт для java.util.List
, и java.util.Map просто отлично, и обе проблемы начали появляться, когда я кодировал веб-часть проекта (Servlet, ViewHelpers, JSP).
И бывают моменты, когда я просто чищу своюкод и восстановить его, и эти ошибки просто перестают отображаться, и код не помечен как «ошибка».(Но затем, если я очищаю и перестраиваю его еще раз, иногда класс снова помечается как ошибка, или он просто успешно строится. Ошибка просто случайная.
Я не нашел никакого решения для этого,только вещи, основанные на импорте и изменениях в пути сборки Java, но ничего не работает.
Других классов с ошибками или несоответствиями нет, это единственный класс, с которым у меня недавно возникли проблемы.
Я использую:
- Версия Eclipse: 2018-12 (4.10.0)
- Java: jdk-11.0.2
- Tomcat: v9.0 Server
По запросу, вот мой путь сборки Java:
![JavaBuildPath - Source](https://i.stack.imgur.com/9wBI7.png)
Здесь, для того, чтобычтобы мое "ядро" существовало, мне нужно сделать зависимость от проекта "dominio". ![JavaBuildPath - Projects](https://i.stack.imgur.com/7Xfub.png)
![JavaBuildPath - Libraries](https://i.stack.imgur.com/4XZFz.png)
![JavaBuildPath - Order and Export](https://i.stack.imgur.com/A1YcO.png)
Кроме того, еслиПолезно, вот основные ссылки проекта: ![Project references](https://i.stack.imgur.com/3uZU7.png)
Код
Вот код:
package LES1_2019.core.impl.controle;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//myproject internal imports (all classes built sucessfully)
import LES1_2019.core.IDAO;
//import geral
import LES1_2019.core.IFachada;
import LES1_2019.core.IStrategy;
//import resultado
import LES1_2019.core.aplicacao.Resultado;
//import daos
import LES1_2019.core.impl.dao.CategoriaDAO;
import LES1_2019.core.impl.dao.ProdutoDAO;
import LES1_2019.core.impl.negocio.ProdutoMesmoNome;
import LES1_2019.core.impl.negocio.ValidarDadosCategoria;
//import regras de negocio
import LES1_2019.core.impl.negocio.ValidarDadosProduto;
import LES1_2019.dominio.Categoria;
import LES1_2019.dominio.EntidadeDominio;
import LES1_2019.dominio.Produto;
public class Fachada implements IFachada {
private Map<String, IDAO> daos;
private Map<String, Map<String, List<IStrategy>>> rns;
private Resultado objResultado;
public Fachada() {
daos = new HashMap<String, IDAO>();
rns = new HashMap<String, Map<String, List<IStrategy>>>();
CategoriaDAO objCategoriaDAO = new CategoriaDAO();
ProdutoDAO objProdutoDAO = new ProdutoDAO();
daos.put(Categoria.class.getName(), objCategoriaDAO);
daos.put(Produto.class.getName(), objProdutoDAO);
//criando objetos das classes de regras de negocio
ValidarDadosProduto objValidarDadosProduto = new ValidarDadosProduto();
ProdutoMesmoNome objProdutoMesmoNome = new ProdutoMesmoNome();
ValidarDadosCategoria objValidarDadosCategoria = new ValidarDadosCategoria();
//adicionando os objetos das classes de regras a array list de salvar produtos
List<IStrategy> rnsSalvarProduto = new ArrayList<IStrategy>();
rnsSalvarProduto.add(objValidarDadosProduto);
rnsSalvarProduto.add(objProdutoMesmoNome);
//adicionando os objetos das classes de regras a array list de salvar categorias
List<IStrategy> rnsSalvarCategoria = new ArrayList<IStrategy>();
rnsSalvarCategoria.add(objValidarDadosCategoria);
//criando um hasmap das listas com as regras de negocio
Map<String, List<IStrategy>> rnsProduto = new HashMap<String, List<IStrategy>>();
Map<String, List<IStrategy>> rnsCategoria = new HashMap<String, List<IStrategy>>();
//adicionando as operacoes que irao utilizar o map com a lista de regras
rnsProduto.put("SALVAR", rnsSalvarProduto);
rnsCategoria.put("SALVAR", rnsSalvarCategoria);
rnsCategoria.put("ALTERAR", rnsSalvarCategoria);
rns.put(Produto.class.getName(), rnsProduto);
rns.put(Categoria.class.getName(), rnsCategoria);
}
private String executarRegras(EntidadeDominio entidade, String operacao) {
String nmClasse = entidade.getClass().getName();
StringBuilder msg = new StringBuilder();
//this is where I get the first error type Map<K,V> is not visible
Map<String, List<IStrategy>> regrasOperacao = rns.get(nmClasse);
if(regrasOperacao != null) {
//this is where I get the error type List<E> is not visible
List<IStrategy> regras = regrasOperacao.get(operacao);
if(regras != null) {
for(IStrategy s:regras) {
String m = s.processar(entidade);
System.out.println(m);
if(m != null) {
msg.append(m);
msg.append("\n");
}
}
}
}
if(msg.length()>0)
return msg.toString();
else
return null;
}
Есть идеи?