목차 >> Glue Plug-In 
+- Glue Project  
----+- Glue Java Project 
----+- Glue Maven Proejct

4장 Glue Plug-In

Glue Project

Glue Plug-In을 통해 다음 2가지 유형의 Project 생성을 지원합니다. (Eclipse IDE의 File 메뉴의 New -> Project)

  • Glue Java Project
  • Glue Maven Prject
    그림 : Glue Project 생성 wizard
    Glue Project 생성 wizard

Glue Project 생성시 GlueSDK_HOME/templateFolder 에 있는 파일이 이용됩니다.
Glue Java Project 형태로 생성하면 ant 를 이용할 수 있는 형태로 프로젝트가 생성됩니다.
Glue Maven Project 형태로 생성하면 mvn 을 이용 할 수 있는 형태로 프로젝트가 생성됩니다.

Glue Java Project

Glue Java Project 형태에서는 GLUE_CORE 와 GLUE_STD 라는 user library 자동으로 설정된다. GlueSDK의 gluelib 와 gluestd에 있는 라이브러리들로 자동 구성된다. GlueSDK의 gluelib와 gluestd의 라이브러리가 변경될 경우, Glue SDK Location을 설정하는 Preference 창의 apply 버튼을 이용해 user library를 재로딩 할 수 있다.
GlueSDK의 gluestd 에는 최소한의 라이브러리로 구성되어 있으며, 추가적인 기능을 사용하고자 한다면, gluestd에 해당 라이브러리를 추가해야 한다. 일부 오픈소스 라이브러리는 gluestd_ 로 시작하는 폴더에 있으며, 빠진 라이브러리들은 해당 라이브러리를 제공하는 사이트에서 다운받아 구성하여야 한다.

다음은 Glue Java Project로 프로젝트를 생성한 결과이다.

그림 : Glue Project 구조 : Java
Glue Project 구조

Glue Maven Proejct

Glue Maven Project에서는 Maven Dependencies를 통해 프로젝트에서 사용하는 Library가 구성된다. pom.xml 파일에 다음과 같은 dependency를 추가하기 위해서는 따로 Repository를 구성하여야 하며, Repository의 구성은 여기서는 다루지 않는다.
아래와 같은 형태에서 artifactId 와 version은 GlueSDK_HOME/lib/gluelib에 있는 jar 파일의 이름을 참고해서 구성합니다.

<dependency>
    <groupId>com.poscoict</groupId>
    <artifactId>glue-core</artifactId>
    <version>${glue-version}</version>
</dependency>

다음은 Glue Maven Project로 프로젝트를 생성한 결과이다.

그림 : Glue Project 구조 : Maven
Glue Project 구조

Eclipse IDE에서의 glue-core의 의존도는 아래와 같이 확인할 수 있다.

그림 : pom.xml 의 Dependency Hierachy
pom.xml 의 Dependency Hierachy

pom.xml에서 불필요하다고 판단되는 libaray는 다음과 같이 제외시킬 수 있다. 다음은 JCS와 Struts를 제외시킨 모습이다.

<dependency>
    <groupId>com.poscoict</groupId>
    <artifactId>glue-core</artifactId>
    <version>${glue-version}</version>
    <exclusions>
        <exclusion>
            <artifactId>jcs</artifactId>
            <groupId>org.apache.jcs</groupId>
        </exclusion>
        <exclusion>
            <artifactId>struts</artifactId>
            <groupId>struts</groupId>
        </exclusion>
    </exclusions>
</dependency>