Definir a propriedade 'source' para 'org.eclipse.jst.jee.server: JSFTut' não encontrou uma propriedade correspondente

Respostas:

191

Isso não é um erro. Este é um aviso . A diferença é muito grande. Esse aviso específico basicamente significa que o <Context>elemento no Tomcat server.xmlcontém um atributo desconhecido sourcee que o Tomcat não sabe o que fazer com esse atributo e, portanto, irá ignorá-lo.

O Eclipse WTP adiciona um atributo customizado sourceao <Context>elemento relacionado ao projeto no server.xmldo Tomcat que identifica a origem do contexto (o projeto real no espaço de trabalho que é implementado no servidor específico). Dessa forma, o Eclipse pode correlacionar o aplicativo da web implementado com um projeto na área de trabalho. Desde a versão do Tomcat 6.0.16, quaisquer tags e atributos XML não especificados no server.xmlproduzirão um aviso durante a inicialização do Tomcat, mesmo que não haja DTD nem XSD para server.xml.

Ignore isso. Seu projeto da web está bem. Deve funcionar bem. Esse problema não está relacionado ao JSF.

BalusC
fonte
5
Você pode adicionar isso ao seu logging.properties para suprimir avisos enquanto lê sua configuração: org.apache.tomcat.util.digester.Digester.level = SEVERE
Christian
Percebi que se você tem o arquivo server.xml aberto, ele não adiciona o contexto de volta. Eu apenas parei o servidor e fechei o arquivo server.xml e, em seguida, adicionei novamente o projeto. Pensei ter mencionado isso, caso alguém mais tivesse o mesmo problema.
Michael
Este tópico realmente oferece uma resposta funcional. Isso elimina o aviso. :)
prata
(o mesmo para log4j.properties - 1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38
Para mim, o aviso foi uma indicação de erro - meu projeto não foi implantado. Os atributos de contexto no server.xml do Tomcat eram uma dica - depois de excluir os atributos gerados pelo eclipse e reimplementar do Eclipse, dei um passo adiante - agora o Eclipse me mostrou um bom e velho popup com o erro real.
Hervian
12

Remova o projeto do servidor da Visualização do Servidor. Em seguida, execute o projeto no mesmo servidor.

O problema é como @BalusC disse corrompido do server.xml do tomcat que está configurado no eclipse. Portanto, quando você fizer o processo acima, o server.xml será recriado.

Arvindwill
fonte
3
Minha instância do tomcat inicializou muito rápido um dia (incomum), e olhando os logs, percebi a mesma mensagem que o postador tinha ... Tentei limpar e reiniciar o servidor sem sucesso. Remover e adicionar novamente o projeto ao servidor ajudou como arvindwill recomendado.
armyofda12mnkeys
4

Pensei em adicionar que para o Tomcat 7.x, <Context>não está no server.xml, mas no context.xml. Remover e adicionar novamente o projeto não pareceu ajudar meu problema semelhante, que era um problema do web.xml, que descobri verificando o context.xmlque tinha esta linha na <Context>seção:

<WatchedResource>WEB-INF/web.xml</WatchedResource>

A solução em AVISO: definir a propriedade 'source' para 'org.eclipse.jst.jee.server: appname' não encontrou uma propriedade correspondente me aproximou da minha resposta, pois a alteração da publicação em um XML separado resolveu o erro relatado acima para mim, mas infelizmente gerou um segundo erro que ainda estou investigando.

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.

Marcus
fonte
4

Eu enfrentei um problema semelhante. Passos para resolver isso.

  1. Remova o projeto do servidor
  2. Dê limpeza e construção para todo o projeto
  3. Exclua o servidor
  4. Use Executar como para implantar e executar o projeto

Espero que isto funcione para você também.

Siva Kameswara Rao Munipalle
fonte
3

Em relação à configuração do valor logging.properties

org.apache.tomcat.util.digester.Digester.level = SEVERE

... se você estiver executando um servidor tomcat integrado no eclipse, o logging.propertiesarquivo usado por padrão é o padrão JDK em%JAVA_HOME%/jre/lib/logging.properties

Se você quiser usar um arquivo logging.properties diferente (por exemplo, no confdiretório do servidor tomcat ), isso precisa ser definido por meio da java.util.logging.config.filepropriedade do sistema. por exemplo, para usar as propriedades de registro definidas no arquivo c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties, adicione-o à lista de argumentos da VM:

-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"

(clique duas vezes no ícone do servidor, clique em 'Abrir configuração de inicialização', selecione a guia Argumentos e insira-o na caixa de texto 'Argumentos da VM')

Você também pode achar útil adicionar o argumento VM

-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"

também, que incluirá o nome do criador de logs de origem na saída, o que deve facilitar a determinação de qual registrador deve ser regulado no arquivo logging.properties (conforme http://docs.oracle.com/javase/7/docs /api/java/util/logging/SimpleFormatter.html )

Greg Knox
fonte
1

Atualize para a versão mais recente

Desde esse commit , isso foi corrigido na versão de desenvolvimento do Tomcat. E agora nas versões lançadas 9.0.13, 8.5.35 e 7.0.92.

Do changelog 9.0.13 :

Ignore um atributo denominado source em elementos Context fornecidos por StandardContext. Isso é para suprimir avisos gerados pela integração Eclipse / Tomcat fornecida pelo Eclipse. Baseado em um patch de mdfst13. (markt)

Existem entradas semelhantes no 7.0.92 e 8.5.35 changelogs.

O efeito dessa mudança é suprimir um aviso quando um sourceatributo é declarado em um Contextelemento em server.xml ou context.xml. Como esses são os dois lugares onde o Eclipse coloca tal atributo, isso corrige esse problema específico.

TL; DR : atualize para a versão mais recente do Tomcat em seu ramo, por exemplo, 9.0.13 ou mais recente.

mdfst13
fonte
0

Esta é uma solução simples para este aviso:

Você pode alterar a configuração do servidor eclipse tomcat. Abra a visualização do servidor, clique duas vezes em seu servidor para abrir a configuração do servidor. Existe uma guia de opções do servidor . dentro dessa guia, clique na caixa de seleção para ativar " Publicar conteúdo do módulo em arquivos XML separados ".

Por fim, reinicie o servidor, a mensagem deve desaparecer.

MangduYogii
fonte
-1

Por favor, verifique se algum arquivo jar faltando, particularmente jars, pode ter sido tomado como local, então coloque na pasta lib e crie o arquivo WAR

Issac Balaji
fonte