2024. 8. 17. 11:34ㆍ근황 and 회고/회고
주말 전에 미리 적는 이번주 회고
🧑💼Company
1. 라이브러리? No. Release Train? Yes
빌드 중에 에러가 발생하였다. build.gradle에 명시된 library의 version과 동일한 버전이 build 과정에서 참고하는 디렉토리나 repository에 없다면, 에러가 발생하기 때문이다. 기존에 참고하고 있었던 repository에서는 라이브러리의 버전이 존재하였기에, 빌드가 가능했었다. 따라서 새로운 repository에 해당 version 의 라이브러리 추가를 진행해야 한다.
라이브러리를 추가하기 위한 방법을 생각해봤다.
1) https://mvnrepository.com/ 사이트를 참고하여 진행해보려 했으나, 내부망에서 따로 repository가 존재하기에 mavenCentral()을 이용하기가 쉽지 않은 상황..ㅎㅎㅎ
2) 따라서 해당 버전의 라이브러리를 프로젝트 내부 lib 폴더에 추가한 뒤, 폴더를 참고해서 진행하려고 했었다. 참고하려고 했던 방법은 다음과 같다.
dependencies {
//1안
compile files('libs/example.jar')
//2안
compile fileTree(dir: 'libs', include: ['*.jar'])
}
그러나 문제점은... .jar 파일은 가능한데, xml이나 pom 파일은 해당 방법으로 진행하기 어렵다는 점이었다. 위 방법은 컴파일 타임에 해당 *.jar 파일들을 참고하는 방법이다. 그러나 위 방법으로 xml 및 pom은 빌드 과정에 추가할 수 없는데, xml은 소스 코드가 아니고, pom은 의존성 관리의 메타 데이터이나 *.jar를 추가하는 것은 소스 코드를 참고하는 것이기 때문이다!
근데 왜 해당 파일은 .jar 파일이 아니고, .xml이나 pom 파일일까?
알고보니 추가하고 싶은 라이브러리는, 사실 라이브러리가 아니라 릴리스 트레인이었다!!! (주니어는 오늘도 배워갑니다)
//예시(릴리즈 트레인 - build.gradle)
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:~~~~~~~"
}
}
dependencies {
implementation 'org.springframework.cloud:~~~'
implementation 'org.springframework.cloud:~~~'
}
repositories {
mavenCentral()
maven {
url "~~~~~~~" // 필요 시 Spring's Public Repository
}
}
라이브러리의 버전 호환성을 관리하는 메타 정보가 릴리스 트레인이었던 것...!!!
따라서 3가지 방법이 있을 것 같다.
1) 버전 직접 명시 : Build.gradle에서 라이브러리의 버전을 직접적으로 명시해주는 것
2) Repository 참조 : Repository에 해당 파일을 추가하여, 해당 릴리즈 트레인 POM 파일을 참고할 수 있게 해주는 것
3) 프로젝트 내부 참조 : 프로젝트에 직접적으로 파일을 추가해서 참조하게 하는 법
다음주 시도는 3) -> 1) -> 2) 일 것 같다! 2)는 이미 관할 부서에 요청드린 상황이니, 3) 또는 1) 로 test 예정이다.
3)의 방법 : 참고하는 릴리스 트레인 파일이 수정될 가능성이 있기에, 개발 과정 중 빌드 내용 일관성이 좋지 않을 것 같다.
dependencyManagement {
imports {
mavenBom files("libs/~~~~~.pom")
}
}
1)의 방법 : 3)의 이유와 비슷하다.
//예시 - 버전 직접 명시
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.2.0.RELEASE'
}
📝 Private
1. Vue.js
- Vue.js 공부를 시작했다. 회사에서 조금 더 일찍 나가, Vue.js 강의를 수강중이다. 다루고 있는 사이트가 Vue.js 버전 2로 구성되어 있는데... 버전 3으로 업그레이드 하고 싶은 욕심이 있다.
- javascript를 배우다 보면, 개인적인 프로젝트들을 진행할 때 도움이 될 것 같다. 프론트와 백엔드를 아우를 수 있는 언어이기 때문이다. 계속 공부해보자!
'근황 and 회고 > 회고' 카테고리의 다른 글
| [근황/회고] 8월 4주차 ~ 9월 1주차 (2024.08.26. ~ 2024.09.08.) (0) | 2024.09.08 |
|---|---|
| [근황/회고] 8월 3주차 (2024.08.19. ~ 2024.08.25.) (0) | 2024.08.24 |
| [근황/회고] 8월 1주차 (2024.08.05. ~ 2024.08.11.) (0) | 2024.08.09 |
| [근황/회고] 7월 5주차 (2024.07.29. ~ 2024.08.04.) (0) | 2024.08.03 |
| [근황/회고] 7월 2주차 ~ 7월 4주차 (2024.07.08.~2024.07.28.) (0) | 2024.07.28 |