TIBCO ActiveSpace Eclipse Maven

■ TIBCO ActiveSpace에서 제공되는 java 버전의 소스를 Eclipse Maven 환경에 포팅(?) 해보자.  먼저 TIBCO ActiveSpace를 c:\tibco 디렉토리에 설치 했다면 java 예제 소스는 C:\tibco\as\2.1\examples\java에 있다. 이 소스를 Eclipse Maven환경에 포팅한다.

java 소스는 Eclipse의 src/main/java 폴더에 복사해 넣으면 되는데, 이 java 소스가 참조하는 라이브러리가 C:\tibco\as\2.1\lib 디렉토리에 있는 antr-3.2.jar, as-admin.jar, as-agent.jar, as-common.jar, as-hawk-agent.jar이다.

이 라이브러리는 maven dependency(?) 형태로 제공되지 않아 직접 아래 그림과 같이 maven dependency 관리를 위해 Eclipse ‘activespace’ 프로젝트 밑에 lib 디렉토리를 만들고  파일 이름을 변경(as-admin.jar –> as-admin-1.0.0.jar)한다.

여기서 버전 1.0.0은 역시 maven dependency관리를 위해 임의로 지정했다. lib 디렉토리의 하위 디렉토리 구조는 [groupId] / [artifactId] / [version] / [filenaem-version.jar].

  • tibco : groupId
  • as-admin, as-agent, as-common, as-hawk-agent : artifactId
  • 1.0.0 : version

activespace maven 00
■ 이렇게 하고 maven build를 하게 되면 build 도중 아래와 같은 메세지가 나오게 된다. 이 메세지를 없애주기 위해 더미(dummy) *.pom 파일을 아래의 화면 캡쳐처럼 만들어 준다.
[WARNING] The POM for tibco:as-common:jar:1.0.0 is missing, no dependency information available
[WARNING] The POM for tibco:as-admin:jar:1.0.0 is missing, no dependency information available
[WARNING] The POM for tibco:as-agent:jar:1.0.0 is missing, no dependency information available
activespace maven 04
■ as-admin-1.0.0.pom의 내용 – 안에 내용은 의미가 없는 더미 파일일다. 단지 [WARNING] The POM for tibco:as-admin:jar:1.0.0 is missing, no dependency information available 경고 메세지를 없애주기 위한 파일이다.

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>tibco</groupId>
  <artifactId>as-common</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>as-common dummy pom file</name>
  <description/>
  <url/>
  <licenses/>
  <dependencies/>
</project>

 

■ as-agent-1.0.0.pom의 내용 – 안에 내용은 의미가 없는 더미 파일일다. 단지 [WARNING] The POM for tibco:as-agent:jar:1.0.0 is missing, no dependency information available 경고 메세지를 없애주기 위한 파일이다.

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>tibco</groupId>
  <artifactId>as-agent</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>as-agent dummy pom file</name>
  <description/>
  <url/>
  <licenses/>
  <dependencies/>
</project>

 

■ as-common-1.0.0.pom의 내용 – 안에 내용은 의미가 없는 더미 파일일다. 단지 [WARNING] The POM for tibco:as-common:jar:1.0.0 is missing, no dependency information available 경고 메세지를 없애주기 위한 파일이다.

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>tibco</groupId>
  <artifactId>as-common</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>as-common dummy pom file</name>
  <description/>
  <url/>
  <licenses/>
  <dependencies/>
</project>

 

■ as-hawk-agent-1.0.0.pom의 내용 – 안에 내용은 의미가 없는 더미 파일일다. 단지 [WARNING] The POM for tibco:as-hawk-agent:jar:1.0.0 is missing, no dependency information available 경고 메세지를 없애주기 위한 파일이다.

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>tibco</groupId>
  <artifactId>as-hawk-agent</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>as-hawk-agent dummy pom file</name>
  <description/>
  <url/>
  <licenses/>
  <dependencies/>
</project>

 

■ /lib/tibco/디렉토리에 복사된 파일을 사용하기 위해 pom.xml에 repository를 아래와 같이 지정하고 as-common, as-agent, as-common dependency를 추가 했으며 antr 라이브러리는 maven dependency를 3.5.2 버전을 제공하고 있어 아래와 같이 작성했다.

<repositories>
  <repository>
    <id>in-project</id>
    <name>custom jars</name>
    <url>file://${project.basedir}/lib</url>
  </repository>
</repositories>

<dependencies>

  <dependency>
    <groupId>tibco</groupId>
    <artifactId>as-common</artifactId>
    <version>1.0.0</version>
  </dependency>

  <dependency>
    <groupId>tibco</groupId>
    <artifactId>as-admin</artifactId>
    <version>1.0.0</version>
  </dependency>

  <dependency>
    <groupId>tibco</groupId>
    <artifactId>as-agent</artifactId>
    <version>1.0.0</version>
  </dependency>

  <dependency>
    <groupId>org.antlr</groupId>
    <artifactId>antlr-runtime</artifactId>
    <version>3.5.2</version>
  </dependency>

</dependencies>

 

■ C:\tibco\as\2.1\examples\java 디렉토리에 있는 java 소스를 아래와 같이 src/main/java 디렉토리에 복사했다.
activespace maven 01

 

■ 이제 ActiveSpace를 위한 Eclipse Maven 개발환경 설정이 끝났다.  아래와 같이 Goals에 clean install명령어를 입력하고 Maven Build를 실행해 보자.
activespace maven 02
■ 실행이 완료되면 Local Maven Repository에  아래와 같이 디렉토리가 생성되면서 jar 파일도 같이 복사된다.
activespace maven 03