프로젝트를 하다 보면 3rd party library를 사용할 일이 빈번하게 있다. 이를 Nexus에 등록하는 과정은 지난번에 다룬적이 있다. (궁금하다면 이곳을 참조하도록 하자.) 지난번에는 등록하는 과정이었다면 이제는 이것을 쓰는 과정이다. 필자는 개발환경을 구성하고 배포를 하였는데 구성해놓은 IDE 까지 모두 받은 사람들은 문제가 없었지만 git에서 소스만 pull 해서 사용하는 사람들에게는 문제가 있었다. 바로 3rd party library를 가져오지 못하는 문제였다. 개발환경을 그대로 사용하는 사람은 maven settings.xml 설정까지 모두 사용하기에 settings.xml 에 설정해놓은 mirror를 사용해 Nexus로부터 3rd party library를 가져올 수 있었지만 git에..
잘 되던 어플리케이션이었는데 오랫만에 보니 갑자기 pom.xml 에 오류가 떠있다. x 표시 위에 마우스를 올려봐도 아무런 힌트도 안나오고 무작정 알수 없는 에러란다. Overview를 봐도 마찬가지고 problem을 봐도 마찬가지다. Unknown error 라고만 나온다. 조금 찾아보니 흔한 오류이고 maven plugin version을 명시를 안해서 이러는 경우가 대부분이었다. 조치 3.1.1 pom.xml 에 properties 부분에 3.1.1 를 추가해 넣는다. 이렇게 넣어도 maven update 하라고 오류가 발생하는 경우가 있는데 이럴때는 말그대로 maven update를 해주면 된다. 끝!
Ant Build는 이제는 잘 쓰이지 않지만 종종 maven이나 gradle이 아닌 일반적인 Dynamic Web Project로 프로젝트를 구성하는 경우 사용된다. 일을 하며 많은 시간을 이 Ant Build를 사용했고 그중 가장 일반적인 모습의 Ant Build Script를 작성해보고 이에 대한 설명을 하려고 한다. build.xml sampleproject build 일단 전체 Build Script를 올려봤다. 내용은 꽤 길지만 별 내용은 없는 편이다. Build Script를 짤때 저마다의 스타일이 있지만 필자는 이 Ant Script 안에서 배포까지 하는것은 별로 선호하지 않는다. 배포는 Jenkins에서 수행을 하는것을 좋아하고 Ant는 오직 빌드하는 목적으로 주로 사용을 한다. 위에서부터..
오래된 프로젝트의 배포환경을 구성해달라는 요청을 받았다. ant 로 빌드스크립트를 작성하고 빌드를 수행했는데 다음과 같은 오류메세지가 나오면서 빌드가 정상적으로 되지 않았다. build-project: [javac] Compiling 1237 source files to /app/workspace/TESTPJT/build/classes [javac] /app/workspace/TESTPJT-dev/src/test/pjt/common/web/ConnectorServlet.java:45: error: unmappable character for encoding UTF-8 [javac] build.xml에 build 시 UTF-8로 인코딩을 하도록 다음과 같이 설정은 해놓은 상태이다. 이렇게 하면 대부분의 문..
새로운 Maven 프로젝트를 생성했을때 다음과 같은 오류를 종종 만나볼 수 있다. Could not calculate build plan: Plugin org.apache.maven.plugins:maven-jar-plugin:3.2.0 or one of its dependencies could not be resolved 이 에러의 내용은 프로젝트가 import가 되면서 maven local repository에 필요한 lib들을 가지고 오는데 이 과정이 뭔가 잘못되어서 꼬인 경우가 대부분이다. 이 오류를 해결하는 가장 쉬운 방법은 내 maven local repository를 다 날리고 다시 받는것인데 이 경우 프로젝트가 큰 경우 많은 시간이 걸릴수도 있으므로 일단은 오류메세지에 나온 lib만 날리고..
이클립스 환경에서는 Window > Preperences > Maven > User Settings 에서 settings.xml 파일의 위치를 지정할 수 있었다. 그럼 linux에서는 어디에서 할까? 바로 이곳에서 한다. $ vi /maven 설치경로/maven/conf/settings.xml 하지만 docker를 사용하다보니 jenkins를 통해 maven을 설치했고 설치된 maven을 못찾겠는 경우가 있다. 내가 따로 conf 안에 있는 settings.xml 을 변경해주지 않으면 maven은 사용자의 home 밑에 .m2 라는 곳을 생성하고 이곳을 repository로 사용을 한다. 꼭 ls -al 을 해야지 숨김으로 처리되어 있는 .m2 디렉토리가 보인다. 이곳으로 들어가면 빌드를 한번이라도 했다..
nexus 초기 구성을 할때 3rd party library를 올리기 위한 공간도 생성을 해두는 것이 좋다. release에 두고 쓸수는 없으니 말이다. 생성을 하는 방법은 간단하다. 맨 위의 설정을 누르고 Repositories > Create repository 를 순서대로 클릭한다. Create repository 를 누르면 이것저것 쭉 나오는데 그중 위의 maven2 (hosted) 를 선택. maven2 (hosted) 를 선택하면 이것을 구성하는 화면이 나오는데 위와 같이 간단하게 작성한다음 하단의 Create Repository 를 클릭하여 완료한다. 다시 repository 를 조회해 보면 maven-3rdparty 가 생성된 것을 확인할 수 있다. 이것을 grouping을 해줘야 한다. ..
maven 방식의 프로젝트들이 많아짐에따라 nexus를 설치해야 하는 경우들도 많아졌다. 일단 nexus는 외부와 통신이 되는 서버에 놓는것이 맞다. 내부망에서도 사용은 가능하지만 없는 라이브러리 같은 경우는 직접 다 넣어줘야 한다.. 한번 해봤는데 이건 진짜.. 할일이 못되니 꼭 외부망에다가 설치를 하는것을 권고한다. 일단 nexus를 설치하기 위해서 파일부터 구해야 한다. wget을 통해 간단하게 다운로드 받을 수 있다. $ wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz --no-check-certificate wget이 안깔려 있다면 root 계정으로 접속하여 $ yum install wget 으로 설치를 해준다. 이렇게 wge..