[Java, Spring Boot] Erro no arquivo pom.xml após eu fazer alterações no arquivo application.properties

O arquivo application.properties estava vazio, então coloquei as seguintes instruções nele para se conectar a um banco:

#Porta do servidor
server.port=8083

#Caminho do banco de dados
spring.datasource.url=jdbc:postgresql://localhost:5432/mercadinho

#Nome do usuário de conexão com o banco
spring.datasource.username=postgres

#Senha da conexão com o banco
spring.datasource.password=12345

#Nome do driver do banco
spring.datasource.driver-class-name=org.postgresql.Driver

#Configuração para indicar o hibernate para gerar atualizações automáticas constantemente no esquema
spring.jpa.hibernate.ddl-auto=update

Então, foi acusado um erro no arquivo pom.xml:

Aqui o que aparece quando eu passo o mouse indicando o erro:

Input length = 1 (org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources:default-resources:process-resources) org.apache.maven.plugin.MojoExecutionException: Input length = 1 
 at org.apache.maven.plugins.resources.ResourcesMojo.execute(ResourcesMojo.java:362) at 
 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:336) 
 at org.eclipse.m2e.core.internal.embedder.MavenImpl.lambda$8(MavenImpl.java:1423) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:182) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:117) at 
 org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1422) at 
 org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:55) at 
 org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:135) at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:169) at 
 org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1) at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:114) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:182) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:117) at 
 org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:105) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:182) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:156) at 
 org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:103) at 
 org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88) at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:198) at 
 org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:853) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at 
 org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:389) at 
 org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:410) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160) at 
 org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:251) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: 
 org.apache.maven.shared.filtering.MavenFilteringException: Input length = 1 at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:113) at 
 org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources(DefaultMavenResourcesFiltering.java:262) at 
 org.apache.maven.plugins.resources.ResourcesMojo.execute(ResourcesMojo.java:356) ... 31 more Caused by: java.nio.charset.MalformedInputException: Input length = 1 at java.base/
 java.nio.charset.CoderResult.throwException(CoderResult.java:274) at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) at java.base/
 sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177) at java.base/
 java.io.BufferedReader.read1(BufferedReader.java:211) at java.base/java.io.BufferedReader.read(BufferedReader.java:287) at java.base/java.io.BufferedReader.fill(BufferedReader.java:162) at 
 java.base/java.io.BufferedReader.read(BufferedReader.java:183) at org.apache.maven.shared.filtering.BoundedReader.read(BoundedReader.java:85) at 
 org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read(MultiDelimiterInterpolatorFilterReaderLineEnding.java:235) at 
 org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read(MultiDelimiterInterpolatorFilterReaderLineEnding.java:197) at java.base/
 java.io.Reader.read(Reader.java:197) at org.apache.maven.shared.utils.io.FileUtils.copyFile(FileUtils.java:1931) at 
 org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:98) ... 33 more

E mais uma observação: Isso que estou fazendo é de um curso de Java voltado para a parte do back-end. Nele, o professor que ministra está usando o VSCode, enquanto eu, o Spring Tool Suite. Assim que ele coloca essas configurações no application.properties, além de não acusar nenhum erro, ele consegue usar as anotations do JPA, coisa que eu não estou conseguindo, pois simplesmente não aparece.

Pode ser que seu maven não esteja conseguindo baixar as dependências. Tente remover da pasta .m2 as pastas das dependências do spring (talvez até remover todo o conteúdo da pasta .m2 tb) e tente dá um update nas dependencias do projeto.

Como teste, vc pode tentar criar um outro projeto maven (nem precisa ser spring), e tentar adicionar alguma dependência qualquer no pom.xml desse outro projeto, apenas para ver se ele baixa e configura o classpath corretamente.

Onde fica a pasta .m2 ? Não estou achando.

Na pasta do seu usuário do sistema operacional.

1 curtida

Pessoal,
Sei que esse tópico é antigo e provavelmente o autor já encontrou a solução. Porém, eu resolvi compartilhar minha experiencia com este mesmo problema, para ajudar outras pessoas que se depararem com este tópico.
Enfim, o problema é que o arquivo application.properties está com caracteres acentuados. Esse arquivo é criado automaticamente com codificação UTF-8. Quando você adiciona caracteres acentuados (mesmo que a linha esteja comentada) e salva, a codificação muda para ISO-8859-1 e aí começa a dor de cabeça porque o Spring-Data-Jpa não reconhece esse arquivo se ele não estiver com codificação UTF-8.
A solução é: apagar os caracteres acentuado do application.properties e depois clicar nele com o botão direito do mouse e selecionar Properties. Na janela que se abrirá, altere o encode para UTF-8 e clique em Apply and Close. Pronto. Problema resolvido, pelo menos foi o que aconteceu comigo.

1 curtida