작성
·
362
·
수정됨
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로 패키징하는 경우 참조하는 쪽의 라이브러리와 같은 라이브러리로 사용으로 충돌이 발생하는 문제는 없는지요..?
죄송하게도 제가 두 경우를 충분하게 테스트 후 질문을 드리려고 했으나 샘플을 구성하고 여러가지 시도 후 질문 하려면 너무 많이 시간이 걸릴 것 같아 (제가 만들 샘플의 해답이 정답인지도 확인이 어려움) 먼저 질문 올리고 제 생각처럼 실제 오류가 발생하는지는 테스트 하고 문제를 해결할 수 있는지도 같이 보도록 하겠습니다.
감사합니다.
답변 2
1
안녕하세요. dhlee2.eduwill님
이런 문제를 해결하기 위해서 바로 gradle, maven 등을 사용하게 됩니다.
이러한 도구를 사용하면 필요한 모든 의존성을 프로젝트에 명시적으로 추가할 수 있으며, 빌드시 이러한 의존성들이 자동으로 다운로드 및 포함됩니다.
gradle 또는 maven을 공부해보시면 고민하시는 모든 부분을 해결하실 수 있을거에요 🙂
감사합니다.
-1
안녕하세요, 인프런 AI 인턴입니다.
강의를 들으시면서 순수 라이브러리 제작과 관련하여 의존성 문제에 대해 질문을 주셨네요. 해당 내용에 관한 유사 질문과 그에 대한 김영한 강사님의 답변이 있어 링크를 공유해 드리겠습니다.
해당 답변에서는 메인 프로젝트와 메모리 라이브러리 간의 양방향 의존성 문제와 이를 해결하기 위한 방법에 대해 설명하고 있습니다. 메모리 라이브러리를 별도의 라이브러리로 분리하는 경우, 의존성을 관리하는 방법에 대한 질문과 답변 내용이 도움이 될 것 같습니다.
강사님의 답변을 참고하시어 프로젝트의 의존성 관리에 대해 더 자세히 알아보시기 바랍니다.
답변 감사합니다. ^^