메이븐 3

[Gradle] Gradle 캐시 -> maven repo 변경하기

Gradle은 Maven과 달리 캐시로 dependency를 관리한다. 이것이 장단점이 있지만, nexus에 통째로 올릴 때에는 Maven구조로 올려야 하기 때문에 Gradle 캐시를 Maven구조로 바꾸어주는 스크립트를 자바로 짜보았다. import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.List; public class mainapp{ public static void main(String[] args) throws ..

CI_CD/gradle 2022.05.28

[maven] 메이븐 빌드에러#3(URLEncoder)

jenkins로 메이븐 빌드시 다음과같은 컴파일 에러가 났다 error: package org.apache.catalina.util does not exist 확인해보니 java 파일의 import org.apache.catalina.util.URLEncoder; 가 문제였다. 검색결과 pom.xml에 다음을 추가했는데 빌드 성공! org.apache.tomcat tomcat-catalina 8.0.30 버전은 jenkins의 tomcat버전에 맞춰주면 된다. 마지막에 provided 를 추가하면 컴파일때만 참조하고 실제 빌드된결과 lib아래에는 tomcat관련 jar는 존재하지않게 할 수 있다.

CI_CD/maven 2020.07.02

[maven] 메이븐 빌드 에러#2(does not exist)

젠킨스로 메이븐 빌드중 다음과 같은 에러가 떨어졌다. does not exist..... import한 패키지를 찾을수 없다는 에러이다. 하지만 webapp 아래에는 해당 패키지의 jar가 존재하는데? 왜... 에러가 떨어질까? 원인은 모르겠지만 검색결과 조치방법을 찾았다 해결법 pom.xml에 강제로 외부 라이브러리 dependency를 주었더니 빌드되었다 임의의 이름 버전을 제외한 jar 파일명 jar 파일 버전(없으면 임의의 값) system ${project.basedir}/src/main/lib/라이브러리.jar 여기서 project.basedir 이란 webapp을 말한다 그냥 저렇게 적어주면 webapp이 루트경로로 잡힌다.

CI_CD/maven 2020.06.24