新 Maven 项目编译失败:"App.java:[1,8] <identifier> expected"
New maven project fails to compile: "App.java:[1,8] <identifier> expected"
我的步数:
$ mkdir maven-test
$ cd maven-test
$ mvn archetype:generate
然后我进入了
1313
用于快速入门原型。
8
用于快速入门原型版本 1.4。
info.cameronhudson.18655
为 groupId
lab1
用于 artifactId
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)
包名称必须是有效的 Java 标识符。这意味着您的包名称无效有两个原因。
标识符中不允许使用连字符。编译器中的解析器认为标识符是包名中第一个连字符之前的部分,即 public
。这是一个关键字,不允许作为标识符。
尝试不同的包名称,例如 public_recommendation_service
或 pubrecservice
。
我的步数:
$ mkdir maven-test
$ cd maven-test
$ mvn archetype:generate
然后我进入了
1313
用于快速入门原型。8
用于快速入门原型版本 1.4。info.cameronhudson.18655
为 groupIdlab1
用于 artifactId1.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)
包名称必须是有效的 Java 标识符。这意味着您的包名称无效有两个原因。
标识符中不允许使用连字符。编译器中的解析器认为标识符是包名中第一个连字符之前的部分,即 public
。这是一个关键字,不允许作为标识符。
尝试不同的包名称,例如 public_recommendation_service
或 pubrecservice
。