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

netfly0님의 프로필 이미지
netfly0

작성한 질문수

백엔드 프레임워크 만들기 (개정판)

인텔리제이 사용자를 위한 환경 구성

인텔리제이 컴파일 에러

작성

·

1.5K

1

C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:3:17

java: package org.junit does not exist

C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:17:6 java: cannot find symbol
symbol: class Test
location: class com.biz.board.Board_test
 
어떻게 해야되는 건가요?

답변 11

1

제로님의 프로필 이미지
제로
지식공유자

문제가 해결되었는지 궁금하네요.

아래처럼

lib 에서   junit-4.7.jar 가 포함되어 있는지 확인해 보시겠어요.

 

안녕 하세요.

수강생인데,

설정 잡는 법 (Settings, Project Structure)

"인텔리제이 사용자를 위한 설정" 을 들어야 될 것 같습니다.

 

실무에서 많이 사용 되는 Maven / Gradle 에 의한 환경 구성에 대한

설명도 추가 되었으면 합니다.

 

 

 

 

 

 

0

제로님의 프로필 이미지
제로
지식공유자

해결되었다니 다행입니다. 


저도 이클립스만 쓰다가 강의를 위해 처음 인텔리제이를 사용했었는데

익숙하지 않아 생긴 막막함이 있더라구요.

질문하신 분이 어떤 기분인지 이해가 됩니다. ^^

 

학습중 문제가 있거나 궁금한게 있으면 올려주세요.

도움이 되어 드리겠습니다.

0

netfly0님의 프로필 이미지
netfly0
질문자

해결했습니다.  java 써 본지가 10년이 지나서 인텔리제이는 처음이다보니 ..귀찮게 해 드렸네요..

0

netfly0님의 프로필 이미지
netfly0
질문자

run 하니 에러가 는데요 

java.lang.StringIndexOutOfBoundsException: String index out of range: 0

at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)

at java.base/java.lang.String.charAt(String.java:1512)

at com.intellij.junit4.JUnit4TestRunnerUtil.buildRequest(JUnit4TestRunnerUtil.java:32)

at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:47)

at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)

at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)

at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)

at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)

at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

 

Process finished with exit code -2

 

run/debuge configurations 에서 어떤 설정을 해야 되나요 ? 그냥 이름만  inflearn08 로 하고 run하니 에러가 나는것 같은데요?

0

제로님의 프로필 이미지
제로
지식공유자

해결되었다니 다행이네요.

 

추가로 이야기 드리면

각 모듈(이클립스일 경우 프로젝트)에서 사용하는

라이브러리는 각 디렉토리에 복사되어 있습니다.

 

이렇게 한 이유는 inflearn01 부터 08 까지

독립적으로 실행한다는 뜻이었구요.

 

문제 해결의 내용을 추측해 보면

제가 의도한 대로

모듈에서 사용하는 외부기능(jar)을

잘 지정하신 것 같습미다. ^^

 

 

0

netfly0님의 프로필 이미지
netfly0
질문자

해결되었읍니다. project structure에서 라이브러리 설정시

jar파일 선택하고 다음에 code5가 아니고 inflearn08 선택하니 됩니다.

0

제로님의 프로필 이미지
제로
지식공유자

디렉토리에 한글이 포함되어 있나요?

0

netfly0님의 프로필 이미지
netfly0
질문자

C:\Users\우리집 디렉토리 문제인가요?

0

제로님의 프로필 이미지
제로
지식공유자

안녕하세요. 제로입니다.

올려주신 내용을 보니

기존 junit 라이브러리와 충돌이 생긴 문제 같구요.

 

인텔리제이 같은 경우 라이브러리 경로 오류일때

전체 빌드가 안되는 문제가 있어 해결해야 합니다.

 

일단 초반 강의는 junit 을 사용하지 않기 때문에

빌드가 된다면 강의를 시작하시겠어요.

 

해당 문제는 제가 세부적으로 확인 후 해결방법을 올리겠습미다.

 

0

netfly0님의 프로필 이미지
netfly0
질문자

jave 17.0.2 설치 했고  intellij 2021.3.2 community Edition 입니다.

C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:3:17

java: package org.junit does not exist

C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:17:6

java: cannot find symbol

  symbol:   class Test

location: class com.biz.board.Board_test

 

라이브러리 설정했는데 안 되네요 요거 안 되면 강의 진행이 안 되나요?

 

 

 

 

0

제로님의 프로필 이미지
제로
지식공유자

안녕하세요. 제로입니다.

A 가 B 에 의존한다는 의미는

A가 B 의 사용을 한다는 뜻이고

A 에 B 의 의존성 주입을 한다는 의미는

A가 B 의 기능을 사용하도록 설정한다는 뜻입니다.

강의에서 자주 하는 이야기 인데

 

Board_test 클래스는  junit 에 의존하고 있고

컴파일 또는 실행하기 위해 의존성 주입을 해야 합니다.

 

쉽게 말해 junit 모듈이 어디있는지 Board_test 가 컴파일 또는 실행할때 classpath 를 통해 알려줘야 한다는 의미입니다.

 

도입부가 거창했는데

기능이 있는 junit.4.7.jar 가 lib 디렉토리에 있고 인텔리제이가 이를 알 수 있도록 의존성 주입 정보로 설정하면 됩니다.

 

(컴퓨터를 사용할 수 없어 표현이 이상한데 컴퓨터 사용 가능한 환경일때 보충해 드리겠습니다.)

netfly0님의 프로필 이미지
netfly0

작성한 질문수

질문하기