Estou usando o Eclipse e não uso Java há algum tempo. No entanto, posso compilar meu código na linha de comando perfeitamente e gerar os .class
arquivos necessários . No Eclipse, ele reclama disso The declared package "Devices" does not match the expected package ""
. O que isso significa e como posso corrigir isso?
Código de amostra:
package Devices;
public final class DevFrequency
{
public short messageID;
public double frequency;
public short converterID;
public DevFrequency()
{
}
public DevFrequency(short _messageID,double _frequency,short _converterID)
{
messageID = _messageID;
frequency = _frequency;
converterID = _converterID;
}
}
O nome do meu projeto é DeviceDDS
.
/src/Converters
diretório?Respostas:
O Eclipse espera que o pacote declarado corresponda à hierarquia de diretório - portanto, ele espera que seu arquivo Java esteja em um diretório chamado "Dispositivos" em sua raiz de origem. No momento, parece que o arquivo está diretamente na raiz do código-fonte. Portanto, crie o diretório apropriado e mova o arquivo para lá.
Observe que, convencionalmente, os pacotes estão em letras minúsculas e incluem o nome da sua organização na ordem inversa do DNS, por exemplo
fonte
Tente fechar e reabrir o arquivo.
É possível obter este erro no eclipse quando não há absolutamente nada de errado com o local do arquivo ou declaração do pacote. Experimente isso antes de gastar muito tempo tentando essas outras soluções. Às vezes, o eclipse fica confuso. Funcionou para mim em várias ocasiões. Eu credito a ideia a Joshua Goldberg .
fonte
Solução 1: Uma solução que funcionou para mim quando este erro " O pacote declarado não corresponde ao pacote esperado " ocorreu para um projeto que fiz check-out do Eclipse CVS:
1.Clique com o botão direito do mouse no projeto na barra de navegação e clique em 'excluir'
2. Certifique-se de que a opção ' Excluir conteúdo do projeto no disco ' NÃO esteja marcada e clique em OK.
3.Agora, depois que o projeto for excluído, vá para Arquivo -> Importar -> Geral -> Projetos Existentes na Área de Trabalho
4.Selecione sua área de trabalho na lista de diretórios e marque a caixa ao lado do nome do projeto. Clique em ' Concluir '
Solução 2: mais uma vez, recebi este erro com a seguinte mensagem
Erros de compilação do Eclipse - java.lang.Object não pode ser resolvido. Tive que seguir outra rota mencionada aqui e o erro foi embora.
Enquanto isso, a solução alternativa é remover a Biblioteca do sistema JRE do projeto e, em seguida, adicioná-la novamente. Aqui estão as etapas:
Espero que o erro seja resolvido ...
fonte
Eu tive este problema - as outras classes do meu pacote estavam bem, mas uma classe tinha o erro contra ela. Não havia nada de errado com a declaração do pacote.
Corrigi-o fazendo
refactor->move
e movi a classe para outro pacote temporariamente, depois derefactor->move
volta ao pacote original.fonte
Resolvi o problema seguindo estas etapas:
Selecione o projeto - clique com o botão direito - caminho de construção java.
Na guia fonte - você altera o
src
parasrc/main/java
.Eclipse irá reordenar todo o projeto.
fonte
Você precisa ter a classe dentro de uma pasta
Devices
.fonte
Crie um novo pacote em seu projeto chamado "Dispositivos" e coloque sua classe nele. Isso é equivalente à classe sendo colocada em um diretório chamado "Dispositivos" na pasta de origem do projeto.
fonte
Certifique-se de que
Devices
está definido como uma pasta de origem nas propriedades do projeto.fonte
Recebi o mesmo tipo de erro, mas meu pacote estava absolutamente correto. Quando acabo de fechar e abrir meu editor, o erro desaparece. Espero que isso possa ajudar em alguns cenários.
fonte
Corrigi isso removendo um atributo de "exclusão" para esse pacote em meu
.classpath
arquivo. Remova o atributo, não a tag inteira, ou "src / java" deixará de ser uma pasta de origem.fonte
Certifique-se de ter criado um pacote correto. Você pode ter a chance de criar uma pasta em vez de um pacote
fonte
Crie o diretório [your.project.name] no diretório raiz da área de trabalho do seu projeto.
Copie * .java de "src" para esse diretório.
Feche e reabra o projeto.
fonte
Isso aconteceu comigo quando eu estava fazendo check-out de um projeto de um repositório svn no Eclipse. Havia arquivos jar na minha pasta .m2 que o eclipse não estava olhando. Para corrigir o problema que fiz:
clique com o botão direito na pasta do projeto Configurar> Converter para Projeto Maven
e isso resolveu o problema.
fonte
Há um milhão de respostas, mas aqui está outra: copie os arquivos em um novo pacote, exclua o pacote antigo e renomeie o novo pacote com o nome do pacote antigo.
fonte
Certifique-se de não estar usando o pacote padrão. Crie um novo pacote com o nome 'dispositivos' e copie este código dentro dele e use.
fonte
Eu tive esse tipo de situação quando copiei classes de outros pacotes / projetos.
Menu-> Projeto-> Limpar geralmente ajuda.
fonte
No meu caso, selecionei o marcador de erro na aba Problemas e o apaguei, pois o método principal do arquivo Java estava sendo executado corretamente. Essa é uma falha no Eclipse Neon com a infinidade de plug-ins instalados.
fonte
Eu também enfrentei esse problema quando importei um projeto existente para eclipsar. Era um projeto do Gradle, mas durante a importação, importei-o como projeto normal clicando em Geral-> Projetos Existentes no Espaço de Trabalho. Para resolver o problema, adicionei a natureza do Gradle ao projeto: :::: Clique com o botão direito na pasta Projeto -> Configurar-> Adicionar natureza do Gradle
fonte
Eu estava usando o Spring Tool Suite 4. Não é possível descobrir o problema. A estrutura do diretório estava de acordo com o nome do pacote.
fonte
Este problema foi resolvido mencionando o pacote nome do
Mudei meu arquivo Test_Steps.java que estava sob o pacote stepDefinition
apenas adicionando o pacote stepDefinition o problema foi resolvido
Portanto, esse problema pode ocorrer quando você tem um pacote e não está usando em seu arquivo de classe.
Adicioná-lo resolveu o problema e o erro não estava mais aparecendo.
fonte