Maven에서 jar파일로 된 패키지를 local repository에 install하는 방법

mvn install:install-file -Dfile=<jar파일이름> -DgroupId=<그룹ID> -DartifactId=<아티팩트ID> -Dversion=<버전> -Dpackaging=jar

이렇게 하면 지정된 groupId, artifactId, version으로 local repository에 install이 됩니다.

이렇게 인스톨 된 라이브러리를 사용하기 위해서는 pom.xml로 된 파일에

<dependencies>
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<scope>...</scope>
</dependency>
</dependencies>

이부분에 저렇게 써 넣어주면 됩니다.

Posted by 임장관입니다

댓글을 달아 주세요

HashMap은 HashTable과는 다르게 Thread-safe하지 않다.
그래서 put이나 get을 사용할 때 명시적으로 동기화를 시켜주어야 한다.
하지만 Collections.SynchronizedMap()이라는 메소드로 thread-safe하게 만들 수 있다.

이 경우에,
Simple operation (put, get) 등은 synchronized로 감싸주지 않아도 된다.
하지만 iterator를 사용해서 탐색을 할 경우에는 따로 명시적으로
Synchronized를 써주어야 한단다.

Map m = Collections.synchronizedMap(new HashMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized(m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }

http://java.sun.com/javase/6/docs/api/java/util/Collections.html#synchronizedMap(java.util.Map)
위 링크 참조

까먹을까봐 적어 놓는다.

Posted by 임장관입니다

댓글을 달아 주세요

  1. bsh 2009.02.03 11:20 신고  댓글주소  수정/삭제  댓글쓰기

    흠.. 이터레이터로 탐색하는 거랑 메소드랑은 무슨 구현상의 차이이길래 synchronized를 썼다 안썼다 하는게지? -_-;

  2. 임장관입니다 2009.02.05 19:55 신고  댓글주소  수정/삭제  댓글쓰기

    소스를 보면 알 수 있지 않을까요?