Java/Spring

java: cannot access javax.inject.Provider class file for javax.inject.Provider not found

코딩공부 2021. 5. 3. 09:28

오류 사항 : java: cannot access javax.inject.Provider class file for javax.inject.Provider not found

 

JPAQueryFactory queryFactory = new JPAQueryFactory(em);

 

JPAQueryFactory.class 파일에서 

private final Provider<EntityManager> entityManager

provider이 inject가 안되는  오류가 발생

 

 

 

나의 해결 방안

 

pom.xml에 

 

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>

 

 

출처 참고 

coderoad.ru/40822568/NoClassDefFoundError-javax-inject-Provider-%D0%B8-ClassNotFoundException-javax

 

NoClassDefFoundError: javax/inject/Provider и ClassNotFoundException: javax.inject.Provider - CodeRoad

Добавление этих зависимостей исправило проблему: javax.servlet javax.servlet-api ${javax.servlet.version} provided com.google.inject guice 3.0 javax.inject javax.inject ${javax.inject.version}

coderoad.ru