inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 - 핵심 원리와 활용

순수 라이브러리 만들기

순수 라이브러리 만들기에서 memory.jar의 의존성 문제

527

행복한개발자

작성한 질문수 2

0

순수 라이브러리 만들기에서 memory.jar를 외부 라이브러리로 만들때, 여기서 참조된 라이브러리가 jar파일에 포함되지 않을 것 같은데요.

만약 memory.jar안에서 사용된 라이브러리가 참조한 프로젝트에 없을때 참조 오류가 발생할텐데…

memory.jar안에 참조로 사용된 라이브러리를 포함하려면 어떻게 해야 할까요?

저의 경우 프로젝트를 작은 단위로 나누어 프로젝트로 구성하고 autoconfiguration을 적용하려고 하는데 .. 참조하는 프로젝트에서 사용하지 않는 참조를 사용하는 경우가 다수 발생합니다.

 

좀더 자세한 상황을 첨부 합니다.

 

memory.jar 에서 이 프로젝트에서만 사용하는 inflearn.jar를 참고하고 있습니다. 이 경우 memory.jar를 패키징하면 spring에서 사용하는 기술을 사용하지 않기 때문에 jar에 jar를 포함하지 못하고 fat jar로 빌드하지 않으면 inflearn.jar가 포함되지 않을 텐데요.

그렇게 되면 memory.jar를 참조하는 프로젝트에서 inflearn.jar가 없어 오류가 발생할 것 같습니다.

 

또한, 그 반대로 위 문제 때문에 fat jar로 패키징하는 경우 참조하는 쪽의 라이브러리와 같은 라이브러리로 사용으로 충돌이 발생하는 문제는 없는지요..?

 

죄송하게도 제가 두 경우를 충분하게 테스트 후 질문을 드리려고 했으나 샘플을 구성하고 여러가지 시도 후 질문 하려면 너무 많이 시간이 걸릴 것 같아 (제가 만들 샘플의 해답이 정답인지도 확인이 어려움) 먼저 질문 올리고 제 생각처럼 실제 오류가 발생하는지는 테스트 하고 문제를 해결할 수 있는지도 같이 보도록 하겠습니다.

 

감사합니다.

spring spring-boot prometheus grafana

답변 2

1

김영한

안녕하세요. dhlee2.eduwill님

이런 문제를 해결하기 위해서 바로 gradle, maven 등을 사용하게 됩니다.

이러한 도구를 사용하면 필요한 모든 의존성을 프로젝트에 명시적으로 추가할 수 있으며, 빌드시 이러한 의존성들이 자동으로 다운로드 및 포함됩니다.

gradle 또는 maven을 공부해보시면 고민하시는 모든 부분을 해결하실 수 있을거에요 🙂

감사합니다.

1

행복한개발자

답변 감사합니다. ^^

-2

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

강의를 들으시면서 순수 라이브러리 제작과 관련하여 의존성 문제에 대해 질문을 주셨네요. 해당 내용에 관한 유사 질문과 그에 대한 김영한 강사님의 답변이 있어 링크를 공유해 드리겠습니다.

해당 답변에서는 메인 프로젝트와 메모리 라이브러리 간의 양방향 의존성 문제와 이를 해결하기 위한 방법에 대해 설명하고 있습니다. 메모리 라이브러리를 별도의 라이브러리로 분리하는 경우, 의존성을 관리하는 방법에 대한 질문과 답변 내용이 도움이 될 것 같습니다.

강사님의 답변을 참고하시어 프로젝트의 의존성 관리에 대해 더 자세히 알아보시기 바랍니다.

0

행복한개발자

제 질문과 답변이 맞지 않습니다.

보안이 엄격한 데이터

0

73

1

MyProperties 자체를 클라이언트 코드에서 사용

1

43

1

http://localhost:8080/actuator/prometheus

0

85

3

jar 추가에대한 질문드려도될까요?

0

64

1

build.gradle bom link 변경

0

65

2

@Counted 초기화

0

47

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

101

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

67

1

@Configuration 질문드립니다.

0

84

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

101

1

localhost:8080/hello-servlet 404오류

0

123

2

내장톰캣2 서블릿 톰켓 실행이 안됩니다

1

154

2

최대 Tomcat 스레드 수를 확인하는 지표

0

160

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

94

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

158

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

127

1

스프링부트 ioc 컨테이너 갯수

0

89

1

404 페이지

0

133

3

actuator 호출시 타임스탬프 질문

0

90

1

순수 라이브러리 사용하기 2 - memory-v1

0

125

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

105

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

93

1

Thread Config Max 패널 설정 변경 질문

0

128

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

107

1