Considerar:
Quando crio um projeto simples do Maven no Eclipse , estou recebendo este erro:
web.xml está ausente e
<failOnMissingWebXml>
está definido como true
Como posso resolver este problema?
eclipse
maven
jakarta-ee
m2eclipse
Yogesh Doke
fonte
fonte
maven-war-plugin
. Este é um plug-in implícito, em que o valor padrão para essa propriedade de configuração é verdadeiro. Você precisa declará-lo explicitamente e definir a propriedade de configuração como false. Veja mais aqui . Ou você pode adicionar um web.xml vazioRespostas:
Você também pode fazer isso:
Ele irá gerar a pasta WEB-INF em src / main / webapp e um web.xml nela.
fonte
web.xml
arquivo desnecessário . Você deve corrigir esse problema ao criar a ferramenta (ou seja, maven).Este é um erro grave. Ele diz que está esperando um arquivo web.xml no seu projeto porque é um aplicativo da web, conforme indicado por
<packaging>war</packaging>
. No entanto, para aplicativos Web recentes, um arquivo web.xml é totalmente opcional. Maven precisa alcançar essa convenção. Adicione isso ao seu mavenpom.xml
para permitir que ele se atualize e você não precisará adicionar um inútilweb.xml
ao seu projeto:Esta é uma solução melhor do que adicionar um vazio,
web.xml
pois assim o seu produto final permanece limpo, você está apenas alterando os parâmetros de construção.Para versões mais atuais do maven, você também pode usar a versão mais curta:
fonte
Interface WebApplicationInitializer
esta resposta é a abordagem correta. É a maneira sensata de resolver esse problema - não adianta adicionar asweb.xml
etapas necessárias para viver sem ele!<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
é suficiente, em vez das definições de configuração mais detalhadas do plug-in.Se você já tem web.xml sob / src / main / webapp / WEB-INF, mas você ainda receber erro "web.xml está em falta e é definido como verdadeiro", você pode verificar se você tiver incluído / src / main / webapp em a fonte do seu projeto.
Aqui estão as etapas que você pode seguir:
(Eu verifiquei isso com o Eclipse Mars)
fonte
Se você usar o Spring Tool Suite, a opção para Gerar Stub do Descritor de Implementação será movida em Java EE Tools, para que você:
Isso criará o arquivo web.xml dentro da pasta src / main / webapp / WEB-INF / e, é claro, removerá o erro do arquivo pom.xml do Maven.
fonte
Eu tenho o mesmo problema. Depois de estudar e pesquisar no Google, resolvi meu problema:
Clique com o botão direito do mouse na pasta do projeto, vá para
Java EE Tools
, selecioneGenerate Deployment Descriptor Stub
. Isto irá criarweb.xml
na pastasrc/main/webapp/WEB-INF
.fonte
Você também pode fazer isso menos detalhado
fonte
O Eclipse reconhece o
webapp
diretório padrão incorreto . Portanto, devemos defini-lo claramentemaven-war-plugin
.Depois de salvar essa configuração, o erro nunca ocorrerá se for removido. (Não sei explicar o porquê.)
fonte
Eu tive o mesmo problema, mesmo tendo a
'src/main/webapp/WEB-INF/'
pasta corretaweb.xml
.O problema desapareceu depois que eu recriei (maven-> eclipse) a configuração com
Maven build..
eu executeimvn eclipse:clean eclipse:eclipse
E então eu
Maven -> Update Project
adicionava opções específicas do plugin (eclipse-> maven).fonte
Encontrei esse problema apenas no eclipse, tudo funcionou bem na linha de comando do Maven e meu arquivo web.xml existia. Foi um projeto maduro (já implantado na produção) que foi impactado. Meu problema estava ligado aos metadados do eclipse. Houve um problema com um dos arquivos em minha pasta .settings /, especificamente o org.eclipse.wst.common.component havia sido alterado. Consegui restaurar este arquivo para sua versão anterior, o que resolveu o problema no meu caso.
Observe que a resposta de Yuci não funcionou para mim. Quando tentei clicar em Deployment Assembly nas propriedades do eclipse, recebi um erro que dizia "a página atualmente exibida contém valores inválidos".
fonte
Para o Project com web.xml, apresente Project -> Properties -> Deployment Assembly, onde você pode adicionar a pasta src / main / webapp. Salve as alterações. Limpe o projeto para começar.
Para Projeto com web.xml não presente Defina failOnMissingWebXml como false em pom.xml na marca de propriedades.
fonte
Faça isso:
Vá e clique com o botão direito do mouse em Deployment Descriptor e clique em Generate Deployment Descriptor Stub.
fonte
Não faz sentido criar um web.xml, apenas a elcipse deseja, mesmo que não seja necessário. Este é o caso se você tiver o servlet conatiner incorporado ou vivendo sem o xml cfg, como o spring-boot faz. O que você acabou de digitar JavaEE (coisas inúteis) em eclipse no nível do projeto ou global
fonte
Selecione seu projeto e selecione a opção "Deployment Descriptor" e, em seguida, escolha "Generate Deployment Descriptor stub"
fonte
A etapa de: Selecione seu projeto e selecione a opção "Deployment Descriptor" e, em seguida, escolha "Generate Deployment Descriptor stub" funciona bem. A questão é que nem sempre é necessário o web.xml; portanto, é melhor anexar false ao pom.xml
fonte
Clique com o botão direito do mouse no
project --> New --> Other --> Standard Deployment Descriptor(web.xml)
depois pressione Next para criar uma
WEB-INF
pasta com umweb.xml
arquivo dentro.É isso feito.
fonte
Crie a pasta WEB-INF no src / webapp e inclua a página web.xml dentro da pasta WEB-INF.
fonte
Remova os arquivos -web / .setting e -admin / .setting
fonte
Clique com o botão direito do mouse no projeto, vá para Maven -> Atualizar Projeto ... , verifique a Forçar Atualização de Instantâneos / Liberações e clique em OK . Está feito!
fonte