인프런 커뮤니티 질문&답변

J Yun님의 프로필 이미지
J Yun

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA와 DB 설정, 동작확인

라이브러리 인식?

작성

·

1.1K

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

외부 라이브러리 인식이 잘 되지 않습니다.

여러가지 방법을 시도해봤더니..

왼쪽 목록에서 build.gradle 오류표시가 사라지지않습니다....

테스트와 http://localhost:8080 로 확인 하였으나 따로 오류 발생은 하지 않았습니다.

 

외부라이브러리만 인식이 안되는 것 같은데

이유를 알수있을까요?

build.gradle

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.8'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'

	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	
	annotationProcessor 'org.projectlombok:lombok'
	
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	
	//JUnit4 추가
	testImplementation("org.junit.vintage:junit-vintage-engine") {
	exclude group: "org.hamcrest", module: "hamcrest-core"	
}

test {
 useJUnitPlatform()
}

외부라이브러리 주소는

implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:${version}")
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'

이거 두개 사용해 봤고

깃허브에 나온 버전 다른 것도 사용시 안됨요

memberRepositoryTest

package jpabook.jpashop;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import ch.qos.logback.core.joran.conditional.IfAction;

@RunWith(SpringRunner.class) //스프링과 관련된걸 테스트 할거야~ 
@SpringBootTest
public class MemberRepositoryTest {

	@Autowired MemberRepository memberRepository;
	
	@Test
	@Transactional
	@Rollback(false)  //롤백안하고 커밋하는 것
	public void testMember() throws Exception {
		//given
		Member member = new Member();
		member.setUsername("memberA");
		
		//when
		Long savedId = memberRepository.save(member);
		Member findMember = memberRepository.find(savedId);
		
		//then
		Assertions.assertThat(findMember.getId()).isEqualTo(member.getId());
		Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
		Assertions.assertThat(findMember).isEqualTo(member);
		System.out.println("findMember==member : "+ (findMember == member));
		
	}

}

 

 

 

답변 1

0

안녕하세요. J Yun님, 공식 서포터즈 David입니다.

오류 메시지를 함께 남겨주시길 요청드립니다.

감사합니다.

J Yun님의 프로필 이미지
J Yun
질문자

오류는 발생하지 않았습니다. ㅜ

외부 라이브러리만 인식이 되지 않습니다.

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. J Yun님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

 

J Yun님의 프로필 이미지
J Yun
질문자

안녕하세요 영한님 !!!!

https://drive.google.com/file/d/1ck9N_H6FTHb4k7_8agxA3xsvxIEnVLO4/view?usp=sharing

강의 23분 24초 부분 정도부터 시작되는 외부 라이브러리 사용 문제입니다.

실행은 강의와 같이 JUnit 테스트시 나오는 쿼리 파라미터 로그 남기는 부분입니다.

27분 22초처럼 쿼리문이 로그에 안 남아요

refresh gradle project 해보아도 외부 라이브러리의 버전을 바꿔봐도 적용이 안됩니다 ㅜ

스프링부트 버전은 id 'org.springframework.boot' version '2.7.8'

그래서 강의 자료에 나오는 스프링 부트 3.0에서 사용하려면~ 부분은 해보지 않았습니다.

혹시나 싶지만 저는 eclipse workspace 사용합니다.

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. J Yun님

주신 코드를 다운로드 받아서 그대로 실행해보았는데요.

다음과 같이 잘 출력이 됩니다.

 

2023-03-18 11:57:09.074 INFO 19290 --- [ Test worker] p6spy : #1679108229074 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop

insert into member (username, id) values (?, ?)

insert into member (username, id) values ('memberA', 1);

 

업로드하신 라이브러리를 다시 다운로드 받고 프로잭트를 새로 Import 해보시겠어요?

Q: 기존에 잘되던 프로젝트가 어느날 갑자기 안되요.

프로젝트 초기화가 필요합니다.

먼저 프로젝트를 닫은 다음에

File -> Open -> 해당 프로젝트의 build.gradle을 선택해주세요.

그 다음에 선택창이 뜨는데, Open as Project를 선택해주세요.

감사합니다.

J Yun님의 프로필 이미지
J Yun

작성한 질문수

질문하기