Definir a propriedade 'source' para 'org.eclipse.jst.jee.server: JSFTut' não encontrou uma propriedade correspondente
103
Estou recebendo o seguinte erro, quando executo o aplicativo JSF de demonstração no console
[SetPropertiesRule]{Server/Service/Engine/Host/Context}Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
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.
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.
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:
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:
(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
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.
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.
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
Respostas:
Isso não é um erro. Este é um aviso . A diferença é muito grande. Esse aviso específico basicamente significa que o
<Context>
elemento no Tomcatserver.xml
contém um atributo desconhecidosource
e que o Tomcat não sabe o que fazer com esse atributo e, portanto, irá ignorá-lo.O Eclipse WTP adiciona um atributo customizado
source
ao<Context>
elemento relacionado ao projeto noserver.xml
do 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 noserver.xml
produzirão um aviso durante a inicialização do Tomcat, mesmo que não haja DTD nem XSD paraserver.xml
.Ignore isso. Seu projeto da web está bem. Deve funcionar bem. Esse problema não está relacionado ao JSF.
fonte
log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
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.
fonte
Pensei em adicionar que para o Tomcat 7.x,
<Context>
não está noserver.xml
, mas nocontext.xml
. Remover e adicionar novamente o projeto não pareceu ajudar meu problema semelhante, que era um problema do web.xml, que descobri verificando ocontext.xml
que 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.
fonte
Eu enfrentei um problema semelhante. Passos para resolver isso.
Espero que isto funcione para você também.
fonte
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.properties
arquivo 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
conf
diretório do servidor tomcat ), isso precisa ser definido por meio dajava.util.logging.config.file
propriedade do sistema. por exemplo, para usar as propriedades de registro definidas no arquivoc:\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 )
fonte
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 :
Existem entradas semelhantes no 7.0.92 e 8.5.35 changelogs.
O efeito dessa mudança é suprimir um aviso quando um
source
atributo é declarado em umContext
elemento 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.
fonte
Esta é uma solução simples para este aviso:
Por fim, reinicie o servidor, a mensagem deve desaparecer.
fonte
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
fonte