'메이븐'에 해당되는 글 4건
- 2010/09/01 "Maven : Sonatype이 만든 Maven 핵심 가이드" 책이 나왔습니다. (18)
- 2009/09/22 Sun 용 Maven Repository (4)
- 2009/09/18 Maven에 ojdbc14 디펜던시 넣기 (4)
- 2009/09/09 Google App Engine for Java 용 Maven 프로젝트 구축하기 (2)
이번에 "Maven : Sonatype이 만든 Maven 핵심 가이드"란 책이 나왔습니다. 현재 예약판매 중인데요~ 곧 시중에 나올 예정입니다.
쑥스럽지만 이 책을 제가 번역하였습니다.
첫 번역이라 오랜 기간 번역을 하였습니다.
여러모로 번역이란 작업은 어렵더군요~ ^^;; 이 기회를 통하여 많은 역자들의 고민과 고통을 알게 되었습니다.
수 많은 용어들을 우리나라 말로 바꾸는 어려움부터 정말 저자의 의도를 알맞게 전달하였는지와 독자들이 이 책을 읽으시면서 어려움 없이 쉽게 이해할 수 있을지... 등등의 고민들이 무엇인지 그리고 얼마나 고민되는 문제인지 잘 알게 되었습니다.
저 역시 이러한 고민들을 가지고 이 책을 번역하였습니다. 정말 좋은 번역이었는지는 모르겠으나 나름 고민해서 번역을 하였습니다.
읽으시면서 Maven이 단순한 빌드 툴 이상의 많은 기능과 장점을 가지고 있다는 점을 잘 이해하셨으면 좋겠습니다.
아울러 부족한 부분들이 있다면 알려주시면 추후 수정하겠습니다.
그리고 본 번역을 도와주신 제 친구와 후배님과 지앤선 관계자 분들과 손영수님에게 감사드립니다.
마지막으로 메이븐(Maven) 도입을 미루셨던 분들에게 적극 Maven 도입을 권장합니다. 여러모로 개발하시면서 프로젝트 관리에 있어 많은 도움이 되실것이라고 확신합니다.
그럼 많은 분들에게 도움이 되시길 기원하며 이만 줄이겠습니다.
감사합니다. :-)
PS: Sonatype 사이트 개편으로 예제 파일 경로가 변경되었습니다. 아래 예제를 다운로드 받아서 실행하시면 됩니다. ^^
'Books in Life > 2010' 카테고리의 다른 글
| "Maven : Sonatype이 만든 Maven 핵심 가이드" 책이 나왔습니다. (18) | 2010/09/01 |
|---|---|
| 프로그래머가 몰랐던 멀티코어 CPU 이야기 (0) | 2010/07/09 |
| Head First iPhone Development (0) | 2010/06/07 |
| 사용성 테스트 가이드북 (3) | 2010/01/29 |
-
-
수현 2010/09/08 11:13
스타벅스에서 책번역할것이라고 이야기 하던 때가 생각나네요~ ㅎㅎ
진심으로 축하드립니다~ ^^
책값이 좀 비싸지만 나오면 사봐야지요~
싸인해 주실거죠? ㅎㅎㅎ-
장선진 jangsunjin 2010/09/09 01:14
웅~ 그러게 수현~
어느새 그렇게 되었네~ 참 오래 번역했는데~
이번에 책이 나오니 새록 새록하네~
싸인은 당근~ 잘 참고해주고~ 번역했던 장도 잘 봐주고~ 여러모로 고맙네~ ^^
-
-
-
장선진 jangsunjin 2010/09/09 01:13
안녕하세요~ 현식님 :-)
감사합니다. 여러모로 좋은 책들 앞으로도 열심히 번역하겠습니다. 보시면서 이상한 점이 있으시면 말씀해주세요~ ^^
-
-
-
-
종희 2010/09/27 09:30
안녕하세요~ 번역해주신 책 사서 잘 보고 있습니다.^^
혹시 여기다가 질문을 해도 되는지 모르겠는데 책 중에 예제를 sonatype에서 다운로드를 할 수 없어서
혹시 어디서 구할수 있는지 가르쳐 주실 수 있으신지?^^
사이트를 보니 0.5 버전은 받을 수 있는데 번역한 책에서는 1.0 example이던데 같은것 인가요?-
장선진 jangsunjin 2010/09/28 12:52
안녕하세요~ ^^
여기 질문해주시면 됩니다.
우선 예제는 http://examples.oreilly.com/9780596517335/ 에서 받으실 수 있습니다. 아울러 본 포스트에도 넣어 두겠습니다.
아무쪼록 많은 도움이 되셨으면 좋겠네요~
그럼 행복한 하루 보내세요~ :-)
-
-
-
-
장선진 jangsunjin 2011/01/04 12:53
안녕하세요~ 장선진입니다.
말씀하신 페이지의 POM은 좋은 예로 설명한 부분입니다. 따라서 실제 POM은 존재하지 않습니다.
다만 기존의 모듈(<module>
을 통한 관계를 설정하기 보다는 부모자식(<parent>
를 통해서 예제와 같이 설정하시면 됩니다.
좋은 답변이 되었는지 모르겠네요~
추후 제가 예제를 하나 만들어 보겠습니다.
그럼 새해 복 많이 받으세요~
감사합니다.
-
-
okm 2011/10/30 15:47
어제 책을 사서 봤는데 잘보고 있습니다.
그런데 Sonatype 홈페이지 개편때문에 예제파일이 없어서 구글링해서 겨우 여기까지 왔네요;;
책을 사신 다른분들도 저처럼 고생하시지는 않을까 걱정이네요.(위에 댓글보니 대부분..ㅎㅎ)
암튼 번역하느라 고생하셨구요 잘보겠습니다.^^-
장선진 jangsunjin 2011/10/31 16:39
안녕하세요~ 장선진입니다. :-)
감사합니다. 책이 나오고 나서 소나타입 사이트가 변경되어서 번거롭게 해드렸네요~
다음에는 블로그 URL을 넣어드려야겠습니다.
감사합니다. ^^~
-
지금까지는 다른 분들이 올려놓은 레포지토리를 연결해서 사용하거나 일일이 여러분의 로컬 레포지토리에 인스톨하여야 해결되었지만.. Sun에서도 Maven 1과 Maven 2용 레포지토리를 운영하고 있으니 간단하게 레포지토리를 추가하여 해결할 수 있습니다.
여러분의 POM.xml에<repositories> 아래에 다음과 같은 저장소 정보를 입력하세요~
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
<layout>default</layout>
</repository>
만약 이클립스에서 m2eclipse 플러그인을 사용하신다면 다음과 같이 추가할 수 있습니다.
이렇게 추가하시면 Sun 에서 배포하는 디펜던시들을 마음껏 편하게 이용하실 수 있습니다.
보너스로~ Jboss 레포지토리 정보도 알려드리겠습니다. 함께 추가하시면 거의 모든 디펜던시들을 잘 이용하실 수 있습니다. ;-)
<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>jboss-repository</id>
<name>Jboss Repository for Maven 2</name>
<url>http://repository.jboss.com/maven2/</url>
</repository>
</repositories>
더욱 상세한 정보는 https://maven2-repository.dev.java.net/ 에서 확인하세요~
'Architecture for Software > Java' 카테고리의 다른 글
| Windows XP에 Java SDK 설정 방법에 대하여 (2) | 2009/10/03 |
|---|---|
| Sun 용 Maven Repository (4) | 2009/09/22 |
| Maven에 ojdbc14 디펜던시 넣기 (4) | 2009/09/18 |
| JSF의 변환(Conversion)과 검증(Validation)이란 무었인가? (0) | 2009/01/07 |
| Java Server Faces(JSF), Facelets and Web 2.0 for SVG (0) | 2009/01/07 |
| [Hibernate Annotation] 엔티티 빈의 연관 관계 및 관계 매핑: 1대 1 관계 (0) | 2009/01/06 |
-
컴바이블 2010/02/08 12:07
Maven을 잘 사용하시는 것 같아서 질문좀 드리려구요~
http://code.google.com/p/ebi-pride/ 여기의 데이터베이스를 설치하는 중에 프로젝트가 메이븐으로 되어있는데, 제가 메이븐을 사용해본적이 없어서..
필요한 환경은 다 다운로드, 설치했습니다.
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=uk.ac.ebi.pride -DartifactId=pride-core -Dversion=2.5.7 -Dclassifier=javadoc -Dpackaging=javadoc -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
위와같은 메세지에서 Dfile, Durl, DrepositoryId 에 각각 설정해줘야하는 값이 어떤것인지 좀 조언해주세요~-
장선진 jangsunjin 2010/02/08 16:52
안녕하세요~ 컴바이블님 :-)
말씀하신 내용은 Maven에서 디폴로이(배포)를 하는 명령어입니다. 즉 지금 프로젝트에 있는 것들을 배포할 건데요~
메이븐은 내부적으로 코디네이트(좌표)라는 체계를 사용하여 모든 산출물을 관리하고 있습니다.
코디네이트는 Group ID, Artifact ID, Version, classifier, packaging으로 구성되어 있습니다. 위의 내용을 보아 버전이 2.5.7인 pride-core라는 프로젝트의 javadoc을 만들어 배포하라는 명령어입니다. 그 파일을 어디에다 둘 것인가가 바로 -Durl 옵션이구요~ 만약 기본값으로 두시면 pride-core-2.5.7.jar 라는 Javadoc을 포함한 JAR 파일이 ~/.m2 아래에 생성될 것입니다.
여기서 -DrepositoryId는 만약 사설 저장소(예를 들어 메이븐의 넥서스와 같은)가 있다면 이 저장소에 생성한 배포 파일을 저장소에 넣어 달라는 의미입니다. 만약 공공 저장소 ID를 지정하시면 공공 저장소에 배포됩니다.
그리고 -Dfile은 배포하시는 파일명을 메이븐이 자동으로 정해주는 pride-core-2.5.7.jar라는 파일명대신 다른 파일명을 지정하시는 경우 사용하시면 됩니다. 간단하게 pride-core-javadoc.jar 라고 지정하시면 보기도 쉽고 의미도 정확하게 알 수 있습니다.
음 classifier가 javadoc이니 아마 HTML 파일이 생성될 수 도 있을 것 같습니다.
그럼 참고가 되었으면 좋겠습니다. :-)
-
-
큐티써니 2011/03/11 10:39
안녕하세요~
Maven때문에 버벅거리고 있어서.. 조언을 구하고자 이렇게 글을 남깁니당..
Maven설치하고 m2eclipse 플러그인을 설치하였는데... pom.xml의 Dependencies에서 라이브러리 검색이 되지 않고 있는데 무슨 현상 때문일까요?
아무래도 저장소 때문인 것 같은데.. .m2 디렉토리 밑에 settings.xml파일까지 넣었습니당~ 근데도 검색이 안되요 흑...
이럴 땐 어떻게 해야할까요? 예전에는 .m2디렉토리에 settings.xml파일을 넣었을 때 잘 되었던 기억이 있는데.. 저장소 url이 잘못된것인지 아님 설치를 잘 못 한건인지.. 궁금합니다아~~~ 조언해주심 정말 감사합니다 ^^-
장선진 jangsunjin 2011/03/11 16:42
안녕하세요~ 큐티써니님
대략 2가지 이유인것 같습니다.
우선 네트워크 문제가 있을 수 있습니다. 네트워크 상에서 제대로 메이븐 중앙 저장소가 잘 검색되는지 확인해보시기 바랍니다.
다음으로는 찾으시는 디펜던시가 중앙 저장소에 제대로 없는 경우입니다. 검색어를 변경하시거나 저장소를 추가해보세요~
해보시면서 안되면 조금 더 구체적으로 문의 부탁드립니다.
그럼 좋은 하루 보내세요~ ^^
-
특히 Oracle의 ojdbc14.jar 아티팩트의 경우 디펜던시로 추가하려고 m2eclipse에서 설정하면 잘 설정이 되지만, 실제 아티팩트인 ojdbc14.jar가 메이븐 중앙 레포지토리에 없어서 아티팩트가 없다는 에러가 발생합니다.
Oracle이 ojdbc14.jar를 메이븐 중앙 레포리토리를 통하여 배포하지 않는것은 여러가지 이유가 있을 수 있지만.. 메이븐 프로젝트를 구성하여 사용하는 경우에 일일이 아티팩트를 로컬 레포지토리에 인스톨하여 사용한다는것 자체가 귀찮고 개발자간 버전 불일치 문제가 있을 수 있습니다.
이때는 메이븐 중앙 레포지토리 외에 다른 레포지토리를 추가하여 간단하게 해결할 수 있습니다.
pom.xml에 다음과 같이 새로운 레포지토리를 하나 더 추가합니다.
<repository>
<id>mesir-repo</id>
<url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>
</repository>
그리고 다음과 같이 Oracle ojdbc14.jar 아티팩트를 위한 디펜던시를 설정합니다.
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>
자 어떠세요~ 쉽게 ojdbc14.jar를 사용하실 수 있으시죠~ 언릉 Oracle이 메이븐 중앙 저장소에 ojdbc14.jar의 아티팩트를 올려주었으면 좋겠습니다. ;-)
참고로 이 자료는 http://www.jroller.com/mert/entry/oracle_s_ojdbc14_jar_mesir 를 참고하였습니다.
'Architecture for Software > Java' 카테고리의 다른 글
| Windows XP에 Java SDK 설정 방법에 대하여 (2) | 2009/10/03 |
|---|---|
| Sun 용 Maven Repository (4) | 2009/09/22 |
| Maven에 ojdbc14 디펜던시 넣기 (4) | 2009/09/18 |
| JSF의 변환(Conversion)과 검증(Validation)이란 무었인가? (0) | 2009/01/07 |
| Java Server Faces(JSF), Facelets and Web 2.0 for SVG (0) | 2009/01/07 |
| [Hibernate Annotation] 엔티티 빈의 연관 관계 및 관계 매핑: 1대 1 관계 (0) | 2009/01/06 |
-
-
-
장선진 jangsunjin 2011/07/19 01:19
음~ 우선 제가 올린것 아니고 소개만 했는데~ 그것도 저작권 위반인지는 모르겠습니다만, 이런 일은 결국 Maven으로 개발 환경이 통합되는 시점에서 아직 제대로 공개하지 않은 Oracle의 책임도 있는 것 같네요~
-
Google App Engine for Java 용 Maven 프로젝트 구축하기
| Architecture for Software/Google App Engine 2009/09/09 13:12Google App Engine for Java의 경우 이클립스 플러그인이 제공되기 때문에 쉽게 프로젝트를 생성하고 간편하게 테스트할 수 있습니다. GAE for Java용 이클립스 플러그인에 대한 자세한 정보는 http://code.google.com/appengine/docs/java/tools/eclipse.html 에서 확인할 수 있습니다.
프로젝트가 진행되면서 많은 라이브러리들이 필요할 경우에는 아시다시피 Maven을 사용하는 것이 효과적입니다. Maven은 여러모로 훌륭한 의존성 관리를 해주며, 이행종속관계에 따른 라이브러리 관리를 쉽게 해줍니다.
이러한 기능은 프로젝트 규모가 클수록, 어플리케이션이 복잡할수록 많은 효과를 발휘합니다. 이에 따라서 Maven을 사용할 수 있는 Google App Engine for Java 프로젝트를 구축하는 방법을 Step by Step으로 확인해 보겠습니다.
1. 이클립스에서 메이븐 프로젝트 생성
여러분의 이클립스에 이미 메이븐 플러그인이 설치되어 있다고 가정하겠습니다. 만약 아직 메이븐 플러그인이 설치되어 있지 않다면, Galileo 기준으로 Help >> Install New Software >> Add 에서 Location 정보에 http://m2eclipse.sonatype.org/update/ 를 넣은 후 설치하시기 바랍니다.
그러면 아래와 같이 Maven Project를 선택하여 새로운 메이븐 프로젝트를 만들 수 있습니다.
Use default Workspace location을 선택하시면, 현재 워크스페이스 디렉토리 아래에 메이븐 프로젝트가 생성됩니다. 만약 다른 위치에 메이븐 프로젝트를 생성하고 싶다면 Browse... 버튼을 클릭하셔서 위치를 변경하시면 됩니다.
2. Google App Engine for Java용 Archtype Catalog 추가
다음에는 Archtype 플러그인을 선택할 수 있는 화면이 나옵니다. 여기에 우리가 원하는 Google App Engine for Java 용 Archtype이 없으므로 Configure... 버튼을 클릭합니다.
그리면 다음과 같이 Archtype Catalog를 추가할 수 있는 화면이 나옵니다. Add Remove Catalog... 버튼을 클릭하신 후 Catalog File에 http://www.mvnsearch.org/maven2 를 추가한 후 간단한 설명을 Descrption에 넣습니다. 저의 경우 Maven Archtype for GAE/J 라고 넣었습니다.
자 이렇게 Archtype Catalog를 추가한 후에는 Catalog에 appengine-quickstart Archtype 이 나타납니다. 선택한 후 Next 버튼 누르세요~
3. 메이븐 프로젝트의 코디네이트(Coordinate) 입력
메이븐의 모든 아티팩트(Artiface)는 코디네이트를 가지고 있습니다. 메이븐을 잘 모르시는 분들을 위하여 조금 더 설명을 드리면, 메이븐으로 관리되는 모든 프로젝트는 Group Id, Artifact ID, Version, Type 등의 프로젝트를 유일하게 식별할 수 있는 값을 가지고 있으며, 이 값이 코디네이트라고 합니다.
자 저의 경우 최근 공개소프트웨어 공모전에서 Vision Software in Life 란 어플리케이션을 개발하고 있으므로, 아래와 같이 코디네이트를 정했습니다.
참고로 Properties에 appengine_home에는 미리 다운로드 받으신 Google App Engine for Java SDK가 위치한 경로를 넣어주시기 바랍니다. 만약 SDK를 다운로드 받지 않아셨다면 http://code.google.com/appengine/downloads.html에 가셔서 다운로드 받으시기 바랍니다.
자 Finish 버튼을 클릭하면 간단하게 메이븐을 활용한 Google App Engine for Java 프로젝트가 생성됩니다.
4. 패키징과 실행하기
Maven의 Archtype 플러그인이 훌륭하게 GAE/J 프로젝트를 생성해 주었네요 :-)
하지만, 에러가 하나 있군요~ 간단하게 Quick Fix 하실 수 있습니다.
그리고 Maven의 경우 J2SE-1.5 표준으로 Java SDK를 설정하기 때문에 현재 활용하고 계신 JDK로 Edit 버튼을 클릭하셔서 수정하실 수 있습니다. 필수는 아닙니다.
이 부분이 중요한데 Maven의 pom.xml만 있는게 아니고 앤트의 build.xml도 존재합니다.
Maven으로 Package하시고, Ant로 실행시키는 구조이기 때문입니다. 아까 입력한 appengine_home 프로퍼티는 sdk.dir의 location 값입니다. 만약 이 부분이 설정되어 있지 않다면, 간단하게 SDK의 경로를 입력하세요.
자 Package 해 볼까요 :-)
아마 Package 가 모두 성공하셨을 것입니다. Build도 간단하게 하실 수 있습니다. Ant Build... 선택합니다.
그리고 runserver를 선택하여 develpment server를 실행할 수 있도록 설정합니다.
그러면 다음과 같이 GAE/J가 실행된 내역을 확인할 수 있습니다. ;-)
5. Repository 추가하기
pom.xml에서 Repository를 하나 더 추가하기를 권장합니다. 바로 Google Maven Repository입니다. 필수는 아닙니다만, 나중에 Google 관련 Maven을 업데이트 하실 때 편할 것 같습니다.
자 이상으로 간략하게 Maven을 활용한 Google App Engine for Java 프로젝트를 생성하는 법에 관하여 살펴보았습니다. 많은 분들이 쉽게 Google App Engine for Java 를 활용하시는데 도움이 되었으면 좋겠습니다.
마지막으로 본 내용을 구성하면서 http://gae-j-maven.appspot.com/에 있는 내용을 많이 참고하였습니다.
감사합니다. ;-)
'Architecture for Software > Google App Engine' 카테고리의 다른 글
| GAE 세미나 자료를 올립니다. (0) | 2011/07/27 |
|---|---|
| KT UCloud 서비스를 사용하면서 (4) | 2011/02/28 |
| 클라우드 컴퓨팅과 Google App Engine에 대하여 (2) | 2010/07/29 |
| Google App Engine for Java 용 Maven 프로젝트 구축하기 (2) | 2009/09/09 |
| GAE for Java용 이클립스(Galileo) 플러그인 설치하기 (4) | 2009/08/28 |
-
Subject GAE - google app engine + maven (앤트 비사용)
2009/10/17 15:46
1. 구글앱엔진을 메이븐으로 빌드해보려고 검색중 다음을 발견 http://blog.java2game.com/trackback/324 2. 오라~ 이거 괜찮네 하고 직접해봄(이때까지 GAE를 써본적없음) 3. runserver까지 정상적으로 실행 - 로컬에서 확인!!! 4. 자 그럼 업로드 해볼까하고 ant task중 update를 실행 5. 실패!!!!! 아흑.. 역시 잘나가더라니..... 6. RTFM의 원칙 (Read the Fuck Manual..
-
Seil 2009/09/09 17:21
좋은 내용이네요... ^^;;
음.그런데, maven plugin은 http://m2eclipse.sonatype.org/update/ 인것 같은데요.. 조금 착오가 있어신듯 합니다.-
장선진 jangsunjin 2009/09/09 17:46
아네~ 그게 맞습니다. 제가 SVN 플러그인인 subclipse하고 했갈렸네요 ^^;;
좋은 지적 감사합니다. 냉큼 고쳤습니다. ^^~
-
mvn-examples-1.0.zip


