2012-12-11 4 views
0

멀티 모듈 메이븐 프로젝트에 오류가 발생했습니다. 옵션으로 실행되는 eclipse를 통해 "maven install"을 실행하려고합니다.ja로 멀티 모듈 메이븐 프로젝트 종속성 문제

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building mysite-entities 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ mysite-entities --- 
[debug] execute contextualize 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /home/thomas/spring/mysite-parent/mysite-entities/src/main/resources 
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ mysite-entities --- 
[INFO] Compiling 11 source files to /home/thomas/spring/mysite-parent/mysite-entities/target/classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /home/thomas/spring/mysite-parent/mysite-entities/src/main/java/com/mysite/entities/Mcc.java:[5,24] package javax.persistence does not exist 
[ERROR] /home/thomas/spring/mysite-parent/mysite-entities/src/main/java/com/mysite/entities/Mcc.java:[6,24] package javax.persistence does not exist 
[ERROR] /home/thomas/spring/mysite-parent/mysite-entities/src/main/java/com/mysite/entities/Mcc.java:[8,1] cannot find symbol 
symbol: class Entity 
@Entity 


Mcc.java :

package com.mysite.entities; 

import java.io.Serializable; 

import javax.persistence.Entity; 
import javax.persistence.Id; 

@Entity 
public class Mcc implements Serializable 
{ 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 4146710247449711520L; 

    @Id 
    private Long id; 

    private String name; 

    public Long getId() 
    { 
     return id; 
    } 

    public void setId(Long id) 
    { 
     this.id = id; 
    } 

    public String getName() 
    { 
     return name; 
    } 

    public void setName(String name) 
    { 
     this.name = name; 
    } 
} 

내 pom.xml 파일은 다음과 같습니다

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-validator</artifactId> 
</dependency> 

나는 당겨하는 받는다는 종속성을 확인했습니다 그들은 최대 절전 모드에서 JPA를 포함 -2.0-api-1.0.1.Final.jar 이것은 모든 필수 클래스를 포함합니다.

왜이 maven 오류가 발생합니까?

+0

'pom.xml'과'mvn dependency : tree'의 출력을 게시 할 수 있습니까? (또는 적어도 관련 부분 - 예를 들어 버전 번호.) –

답변

0

실제로는 javax.persistence에 대한 의존성이 있습니다. 이것은 JPA 구현 (당신의 경우 최대 절전 모드)과 함께 진행됩니다.

은이 추가 귀하의 어딘가에이 게시물을 발견하고이이 경고 메시지를 제거 발견 pom.xml

<dependency> 
    <groupId>javax.persistence</groupId> 
    <artifactId>persistence-api</artifactId> 
    <version>1.0</version> 
    <optional>true</optional> 
</dependency> 
0

.

복사 slf4j-api-VERSION.jarlogback-classic-VERSION.jar 다음

  • slf4j-api-VERSION.jar%M2_REPOSITORY%\ch\qos\logback\logback-classic\VERSION\

  • logback 고전 사용하지 않는 경우에 있습니다 %M2_REPOSITORY%\org\slf4j\slf4j-api\VERSION\

  • logback-classic-VERSION.jar에 위치하고 있으며, 적어도 slf4j-log4j12, slf4j-simple%JAVA_HOME%\jre\lib\ext에 , slf4j-jdk14 또는 logback-classic 바인딩은 rhw 클래스 경로에 있어야합니다.

관련 문제