我试图运行一个请求工厂示例,但是,我在运行mvn clean install时遇到了这个错误。
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/carlos/workspace/requestfactory/tutorial/src/main/java/cleancodematters/requestfactory/tutorial/client/Tutorial.java:[74,53] cannot access javax.validation.ConstraintViolation
class file for javax.validation.ConstraintViolation not found
context.save( pizza ).fire( new Receiver<Void>() {
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
/home/carlos/workspace/requestfactory/tutorial/src/main/java/cleancodematters/requestfactory/tutorial/client/Tutorial.java:[74,53] cannot access javax.validation.ConstraintViolation
class file for javax.validation.ConstraintViolation not found
context.save( pizza ).fire( new Receiver<Void>() {The code of the example can be found at github。我尝试了其他示例,试图更改pom.xml,我认为我几乎尝试了所有的方法,并且我总是跳到相同的错误中。
提前谢谢。
发布于 2012-03-29 21:59:55
我假设这个问题与以下依赖关系有关:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<classifier>sources</classifier>
<scope>test</scope>
</dependency>在第一个依赖中,你使用了一个分类器"sources“,这是没有任何意义的。此外,作用域"test“也没有意义,因为这些类是编译所必需的,所以你不应该使用作用域。只需将其减少为以下单个依赖项:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>第二点是为什么要使用build-helper-plugin并添加一个不必要的补充文件夹,因为它已经由maven-processor-plugin根据文档添加了。明智的做法是将maven-war-plugin更新为最新版本(2.2)
https://stackoverflow.com/questions/9926387
复制相似问题