'artifactId' with value 'java' does not match a valid id pattern

编译项目报错:

"C:\Program Files\Java\jdk1.7.0_80\bin\java" "-Dmaven.home=D:\Program Files\apache-maven-3.0.5" "-Dclassworlds.conf=D:\Program Files\apache-maven-3.0.5\bin\m2.conf" -Didea.launcher.port=7537 "-Didea.launcher.bin.path=D:\Program Files\JetBrains\IntelliJ IDEA 2016.1.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\Program Files\apache-maven-3.0.5\boot\plexus-classworlds-2.4.jar;D:\Program Files\JetBrains\IntelliJ IDEA 2016.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.1.4 -X clean compile
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 21:51:28+0800)
Maven home: D:\Program Files\apache-maven-3.0.5
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_80\jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from D:\Program Files\apache-maven-3.0.5\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\123\.m2\settings.xml
[DEBUG] Using local repository at D:\Program Files\myMavenRepository\repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10 for D:\Program Files\myMavenRepository\repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project com.shu:thinking in java:war:1.0-SNAPSHOT: (none)
[DEBUG] Looking up lifecyle mappings for packaging war from ClassRealm[plexus.core, parent: null]
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] 'artifactId' with value 'thinking in java' does not match a valid id pattern. @ line 5, column 17

	at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:363)
	at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:636)
	at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:585)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:234)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
[ERROR]   
[ERROR]   The project com.shu:thinking in java:1.0-SNAPSHOT (D:\IntelliJ_IDEA_Project\ThinkingInJava\pom.xml) has 1 error
[ERROR]     'artifactId' with value 'thinking in java' does not match a valid id pattern. @ line 5, column 17
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

Process finished with exit code 1


Solution:

Dont give the artifact id with spaces.

Eg:

thinking in java– invalid artifact id.

thinkinginjava – valid artifact id.

结论:artifact 定义时不能有空格!
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,@Valid和@NotEmpty是用于数据校验的注解。@Valid注解用于标记需要进行数据校验的对象,而@NotEmpty注解用于标记字段不能为空。 如果在使用@Valid和@NotEmpty注解时发现不生效,可能有以下几个原因: 1. 未引入相关依赖:在使用数据校验注解时,需要引入相关的依赖包。在Java中,常用的数据校验框架是Hibernate Validator,因此需要引入相关的依赖,例如在Maven项目中可以添加以下依赖: ```xml <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.2.0.Final</version> </dependency> ``` 2. 未配置校验器:在使用@Valid注解时,需要配置校验器。可以通过在Spring Boot项目中添加以下配置来启用校验器: ```java @Configuration public class ValidationConfig { @Bean public Validator validator() { return Validation.buildDefaultValidatorFactory().getValidator(); } } ``` 3. 未开启校验功能:在使用@Valid注解时,需要确保校验功能已经开启。可以通过在Controller类或方法上添加@Validated注解来开启校验功能: ```java @RestController @Validated public class UserController { @PostMapping("/user") public void addUser(@Valid @RequestBody User user) { // 处理用户添加逻辑 } } ``` 如果以上步骤都已正确配置,但仍然发现@Valid和@NotEmpty注解不生效,可能是因为其他原因导致的。可以提供更多的代码或错误信息,以便更好地帮助您解决问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值