Новый проект maven не компилируется: «App.java:[1,8] <identifier>Ожидается» - PullRequest
0 голосов
/ 24 января 2019

Мои шаги:

$ mkdir maven-test
$ cd maven-test
$ mvn archetype:generate

Я тогда ввел

  • 1313 для архетипа быстрого старта.

  • 8 для архетипа быстрого запуска версии 1.4.

  • info.cameronhudson.18655 для groupId

  • lab1 для артефакта

  • 1.0 для версии снимка

  • public-recommendation-service для названия пакета

  • Y для подтверждения

Затем я вошел в новый проект и попытался установить его.

$ cd lab1
$ mvn clean install

Это привело к следующим ошибкам компиляции.

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/cameronhudson/Repositories/CMU/18-655_Lab_1_Public_Recommendation_Service/lab1/src/main/java/public-recommendation-service/App.java:[1,8] <identifier> expected
[ERROR] /Users/cameronhudson/Repositories/CMU/18-655_Lab_1_Public_Recommendation_Service/lab1/src/main/java/public-recommendation-service/App.java:[1,15] class, interface, or enum expected
[INFO] 2 errors

App.java содержит (по умолчанию):

package public-recommendation-service;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

Моя версия Java:

$ java --version
java 11.0.2 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+7-LTS, mixed mode)

1 Ответ

0 голосов
/ 24 января 2019

Имена пакетов должны быть действительными идентификаторами Java.Это означает, что имя вашего пакета неверно по двум причинам.

Существуют дефисы, которые не допускаются в идентификаторе.Парсер в компиляторе считает, что идентификатор - это часть имени вашего пакета перед первым дефисом, который равен public.Это ключевое слово, которое нельзя использовать в качестве идентификатора.

Попробуйте использовать другое имя пакета, например public_recommendation_service или pubrecservice.

...