오픈소스 라이브러리들은 대부분 Maven Central에서 검색되지만
오라클JDBC라든지, cos같은 오래된 라이브러리들은 Maven Central에 파일이 없는 경우가 있습니다.

이런 경우 대부분 pom파일은 다운로드되는데 jar파일(artifact)을 못 받는 현상을 확인할 수 있습니다.
이럴 땐 jar파일을 vendor웹사이트 등에서 직접 구해 아래와 같이 Repository에 등록해줍니다.


Nexus에 관리자로 로그인하여 Repositories메뉴에 들어가 hosted저장소 중
유효한(사용 중인 Repository Group에 해당하는) 저장소를 클릭하고 Upload탭을 선택합니다.


Select a File For Upload에 직접 구한 jar파일을 선택하고,
로컬 저장소에 다운로드된 pom파일이 존재하면
Specify Artifact Information에서 POM File을 선택한 후
우측 POM에 그 pom파일을 선택해주고, 화면 아래에 있는 Upload버튼을 누르면 완료됩니다.

pom파일조차 없는(Maven Central 등의 중앙저장소들에 없는) 경우엔
pom파일을 만들어 의존성을 명시하거나, 의존성이 필요없다면
그냥 Specify Artifact Information에서 Attributes를 선택하여 특별한 Artifact 하나만 업로드합니다.
(pom파일을 먼저 생각해야하는 이유는, 오픈소스 라이브러리들은 의존성이 한두개가 아니기 때문에
의존성 정의 없이 하나만 달랑 올렸다가 필수의존성때문에 필요한 라이브러리를 찾느라
불필요한 시간을 낭비하기 쉽게되는 까닭입니다.)


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by BoomDiggy

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

어느새 Maven은 Java개발 프로젝트에서 빼놓을 수 없는 중요한 라이브러리 관리도구가 되어버렸습니다.
물론 Maven은 Ant를 대체할 수 있는 강력한 빌드 기능이 있지만,
Maven이 지닌 라이브러리 관리기능은 Ant를 계속 쓴다고 했을 때도 여전히 필수적이며 유용합니다.

개인적으로, Maven도 Subversion과 같이 자체서버가 반드시 필요한 줄 알았는데
그렇지 않더군요. 그냥 (중계)Repository가 존재하면 되는데, 그걸 관리해줄 프로그램이 필요한 것입니다.
(실제적으로 이 프로그램이 서버가 되는 셈이죠.)
작년까지는 Maven Repository Manager(이하 Maven저장소관리서버)로 Artifactory를 사용했는데,
프로젝트 공백기간에 Nexus를 발견하게 되어 설치/사용해보았습니다.
오... Artifactory 필요없게 됐네요. ^^



서버는 Centos 5.2 이며, Nexus 버전은 1.3.11 입니다.
일단 Getting Started Video를 보고, 문서를 보면서 설치하시면 됩니다.
(압축파일을 /usr/local 에 wget으로 받으면 편리합니다. ^^)

주의할 점은... 문서상에서 JAVA_HOME과 PATH를 설정하라는 것은
필요하다는 의미지, 꼭 스크립트에 작성해야한다는 뜻은 아닙니다.
이미 다른 곳에서 정의했다면 불필요합니다.

하나 더 주의할 점은,
pid저장위치(PIDDIR)에는 일반적으로 root만이 쓰기권한을 가질 수 있기 때문에
RUN_AS_USER를 사용할 경우 PIDDIR
해당유저가 쓰기권한을 가질 수 있는 다른 경로로 설정해야할 것입니다.
(이에 대한 서버관리 책임포인트는 스스로가 가져야하기 때문에,
특별한 보안지식이 없다면 그냥 RUN_AS_USER없이 실행할 것을 권합니다.)

Nexus가 사용하는 포트는 ${NEXUS_HOME}/conf/plexus.properties 에서 변경합니다.
(기본값: 8081)

Centos 5 버전 정도 되면 대부분 자체방화벽 쓰실 거예요... /etc/sysconfig/iptables 를 편집하여
아래와 같이 적당한 곳에 행 추가함으로 웹브라우저(원격)접근이 가능하게 합니다.
# vi /etc/sysconfig/iptables
...
-A RH-Firewall-1-INPUT -m state...
-A RH-Firewall-1-INPUT -m state...

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport
8081 -j ACCEPT
...

(저장/편집종료 후 방화벽정책 즉시 갱신)
# /sbin/service iptables restart



자... 이정도 되면 서버setting은 완료된 것입니다. 이제부터 웹브라우저에서 다 되는데요.
위에서 본 비디오에서와 같이... 제일 먼저 admin의 비밀번호를 변경하고,
proxy Repository들의 Download Remote Indexes를 풀고(저장하고~) Re-Index해줍니다.

인덱스 목록이 즉시 갱신되지도 않고 검색도 잘 안되는 것이 이상하게 여겨진다면
Scheduled Tasks 메뉴를 클릭해보면 이해하게 됩니다.
놀랍게도 이 별 것 아닌 것처럼 보이는 것이 작업단위를 스케줄링하기까지 하네요.
(5~10분 정도 지나면 스케줄은 모두 소화됩니다.)

즉시 화면에서 검색이 안된다고 걱정하지 않으셔도 됩니다.
이클립스 프로젝트의 pom을 변경(조회)하면, 즉시 proxy역할을 해냅니다.



크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by BoomDiggy

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

첫 시작


전원버튼을 누르고 로그인한 후 5초가 지났을 때


shutdown 시작되고 전원이 완전히 나간 직후


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by BoomDiggy

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

2009년 봄 현재까지 공개된, 소프트웨어 개발자가 사용하는 무료 SQL개발툴 중 가장 괜찮은 것 같습니다.
이클립스 플랫폼 기반이라 기본적으로 운영체제 설치가 필요없으며,
JDBC드라이버만 있으면 어떤 DBMS도 연결이 가능합니다.
개인적으로는... 그 귀찮은 오라클 클라이언트 설치를 안해도 된다는 해방감이 너무 좋네요. ^^

기존에 사용하던 이클립스에 플러그인 형태로 추가해서 사용할 수도 있지만,
저처럼 가볍게 독립적(standalone)으로 쓰길 원하는 사람을 위한 버전도 있습니다.
아래 링크에 접속하여 원하는 형태를 다운로드 합니다.

* Standalone Client 를 다운로드 받았다면, 원하는 곳에 압축을 풀고 실행합니다.
(윈도우 비스타에서, 시스템drive(C드라이브) 외의 다른 드라이브에 위치를 설정하기만 하면
굳이 관리자권한 없이도 정상 작동하는 것을 확인했습니다.)

처음 perspective가 이렇게 생겼습니다만... 개인적으로 아래와 같은 레이아웃을 추천합니다.


이제 JDBC를 구해볼 차례입니다. 제작자는 유력한 DBMS들의 호환성만 체크해두었을 뿐,
실제 JDBC드라이버 파일은 배포본에 하나도 포함시켜놓지 않은 까닭입니다.

다운로드한 드라이버 파일은 어디에 위치시켜도 상관은 없으나
나중의 혼란을 방지하기 위해, 위에서 프로그램 압축 푼 곳에 보관할 것을 권장합니다.
(현재 개발중인 프로젝트의 WEB-INF/lib 안에 있는 파일을 가져다써도 잘 돌아가긴 합니다만,
아시다시피 프로젝트를 컴파일할 때 해당 jar파일을 SQL Explorer가 사용 중이면 삭제되지 않죠.
그러면 컴파일이 멈추므로(오류발생), 그곳의 파일을 바로 사용하지 마시고
위에서 안내된 다운로드 위치에 복사해서 사용하시거나
아래에 안내되는 곳에서 새로 파일을 받아 사용하시기 바랍니다.)


[오라클]
  1. 오라클 홈페이지 접속
  2. Oracle Technology Network 사이트(Resources에서 찾을 수 있음) 접속
  3. Downloads(more) 페이지 접속
  4. JDBC(Drivers에서 찾을 수 있음) 페이지 접속
  5. 개발환경의 JDK버전에 맞는 최신 드라이버를 다운로드 합니다. (2009년 봄 현재 11g 정상작동)


[mysql 5]
  1. mysql 홈페이지 접속
  2. Downloads 메뉴 선택 >> Connectors 메뉴 선택
  3. Connector/J 페이지 접속 >> Source and Binaries (zip) 선택하여 다운로드


[다른 DBMS들은 알아서...]


그럼 JDBC를 이용해 DB연결을 만듭니다.

File - Preferences 메뉴를 선택합니다.

좌측에서 SQL Explorer - JDBC Drivers메뉴를 선택한 후,
원하는 DB접속형태를 선택하고 더블클릭을 하거나, Edit버튼을 누릅니다.

Extra Class Path탭을 선택하고, New버튼을 클릭합니다.

해당 JDBC드라이버 파일을 엽니다.

List Drivers버튼을 클릭하고 하단의 Driver Class Name이 추출되면 OK버튼을 클릭합니다.

해당 드라이버를 기본값으로 설정하고 싶으면 Set Default버튼을 클릭하고 OK버튼을 클릭합니다.

Connections View의 New Connection Profile버튼을 클릭하거나,
빈 바닥에서 위와 같이 마우스우클릭 팝업메뉴를 선택합니다.

연결이름과 URL 정보를 입력하고 Auto Logon을 체크한 후,
추가할 User의 계정정보를 입력하고 OK버튼을 클릭합니다.

여기까지 진행하면 연결과 기본User생성까지 완료된 것입니다.
생성된 User를 더블클릭하면 실제로 연결하며, 성공하면 Database Structure에 해당연결이 추가되고
우측에 새로운 SQL Editor View가 나타납니다.

* 위와 같이 해당연결에서 마우스우클릭 팝업메뉴로 User를 추가할 수 있습니다.



수고하셨습니다. ^^



저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by BoomDiggy

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2009/06/25 11:22
    댓글 주소 수정/삭제 댓글
    좋은 정보 감사합니다..
    DB연결 잘 되었구요...저도 정리해서 제 블로그에 올려야 겠네요~

다운로드

위 링크에 접속해서 Eclipse for Java/JEE 둘 중 하나를 받습니다.
(패키지 비교-Compare Packages-로 자신이 필요한 모듈을 확인하고 선택하시면 됩니다만,
대부분 Java로 충분합니다.)



첫 실행
workspace를 처음에 잘 잡는 것은 매우 중요합니다.
다른 버전의 이클립스와 workspace를 함께 쓰는 일이 없도록 합니다.

(윈도우 비스타 사용자는 이클립스를 다음 2가지 이유 때문에 관리자권한으로 실행해야 합니다.
  1. 시스템drive의 파일 쓰기 권한이 기본적으로 제한되어 있기 때문에 이유없는 오류가 발생
  2. 이클립스가 실행하는 WAS가 쓰는 파일(로그 등) 또한 1번과 같은 이유 때문에 쓰기오류 발생
그리고 workspace를 시스템drive(C드라이브) 외의 다른 드라이브에 위치를 설정하세요.
workspace뿐 아니라 이클립스프로그램 저장 위치도 마찬가지입니다.)

의외로 Welcome View를 어찌해야할지 모르는 분들이 계신데, 그냥 가볍게 꺼줍니다. ^^;



업데이트
위와 같이 메인메뉴의 Help - Software Updates를 클릭합니다.

새로운 업데이트는 Available Software탭에서 실행합니다.

우선, ganymede본체만 최신버전으로 업데이트 합니다. (Eclipse Platform)
이미 최신버전일 경우, 위와 같이 항목을 체크해도 우측의 Install버튼이 활성화되지 않습니다.

플러그인을 공개된URL에서 바로 추가할 때는, 업데이트창의 우측에 있는 Add Site버튼을 클릭하여
아래와 같이 URL을 넣고 OK버튼을 누릅니다.

Properties Editor를 받기 위해 URL을 입력합니다:
http://propedit.sourceforge.jp/eclipse/updates/

위와 같이 Properties Editor 항목 1개를 선택하고 우측 상단의 Install버튼을 누릅니다.
그러면 의존성 및 호환성 검사가 수행되고, 이상이 없으면 위와 같이 Next버튼이 활성화 됩니다.
Next버튼을 클릭하면 아래 화면을 볼 수 있습니다.

긍정적인 답변을 선택해야 Finish버튼이 활성화됩니다. ^^ 클릭~

이 인스톨 과정이 꽤 긴 경우가 더러 있습니다. ^^;
(네트워크 사정이 안좋아져서 Timeout 걸리면 자동으로 멈추므로
Cancel버튼은 웬만하면 누르지 않습니다.)

강추한다니까... 해주죠^^
Yes버튼 클릭~



나머지 업데이트
위에서 진행한 것 같이, URL(사이트) 추가만 새롭게 하여 한꺼번에 업데이트를 해줍니다.

http://download.eclipse.org/technology/subversive/0.7/update-site/
(출처: http://www.eclipse.org/subversive/downloads.php)
Subversive SVN Team Provider (1개)

http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
(출처: http://www.polarion.com/products/svn/subversive.php?src=eclipseproject)
Subversive SVN Connector (1개)
SVNKit 1.2.x Implementation (1개)

http://springide.org/updatesite/
Spring IDE Core (1개)

http://m2eclipse.codehaus.org/update
Maven Integration for Eclipse (1개)
* 처음 maven 플러그인 사이트를 추가하면, 이상하게 아래와 같은 오류가 발생합니다.
이때는 OK버튼을 누르고... 우측에 보이는 Manage Sites 를 눌러서
오류가 발생한 http://m2eclipse.codehaus.org/를 삭제해줍니다.


* 아래는 Eclipse for Java 사용자만 해당하는 내용입니다: Web Tools (WTP) Update Site
(기본 사이트 리스트에 없을 경우: http://download.eclipse.org/webtools/updates)
Web Tools Platform (WTP) 3.0.4 (그룹 내 전부, 총 17개)



수고하셨습니다. ^^



저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by BoomDiggy

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. chris
    2009/06/29 12:35
    댓글 주소 수정/삭제 댓글
    감사합니다. ㅋㅋ


카테고리

분류 전체보기 (13)
말씀으로 살아내기 (1)
Seeking the Help Meet (1)
Quick Praise (6)
Software DevLog (5)

글 보관함

달력

«   2009/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Total : 3,255
Today : 2 Yesterday : 1