Criei um projeto de início rápido do Maven usando as instruções "Maven: Primeiros Passos" . Este é o comando que executei para criar o projeto: mvn archetype:generate -DgroupId=org.development.package -DartifactId=maven_package_example -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.0 -DinteractiveMode=false
. Coloquei sublinhados no nome do pacote, como sugerido por esta outra publicação do StackOverflow . Executei mvn compile
e recebi um erro de falha de compilação:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project maven_package_example: Compilation failure
[ERROR] /Users/mdailey/maven_package_example/src/main/java/org/development/package/App.java:[1,22] <identifier> expected
Meu App.java
arquivo se parece com isso:
package org.development.package;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
Não tenho muita experiência com Maven. O código que o Maven está gerando não está correto? Ou o Java que tenho instalado no meu computador, que é a versão 23.0.2, não é compatível com este projeto de início rápido do Maven? Tentei alterar o campo de nome no pom.xml removendo todos os sublinhados, mas ainda recebo o mesmo erro. Não consigo descobrir qual é o problema. Qualquer ajuda será bem-vinda.
Isso não tem nada a ver com o Maven (exceto pelo fato de que o Maven está gerando código sem validar sua entrada). Compile o mesmo código
javac
e você obterá o mesmo erro.O problema é que você usa "de"
package
no nome do seu pacoteorg.development.package
. Isso é inválido porquepackage
é uma palavra-chave.Uma declaração de pacote é basicamente uma sequência de identificadores separados por pontos, e um identificador não pode ser uma palavra-chave.