제5장 Ant Task

내용 목차

5.1. 개요
5.2. Setup Ant Task
5.2.1. create-domain
5.3. 서버 제어 Ant Task
5.3.1. boot
5.3.2. down
5.3.3. 실행하기
5.4. EJB Ant Task
5.4.1. appcompiler
5.4.2. ejbddinit
5.5. 웹 서비스 Ant Task
5.5.1. java2wsdl
5.5.2. wsdl2java
5.5.3. wsgen
5.5.4. wsimport
5.5.5. xjc
5.5.6. schemagen
5.6. 웹 서비스 Maven Plugin
5.6.1. wsgen
5.6.2. wsimport
5.7. jeusadmin 명령어 실행
5.8. Maven Plugin
5.8.1. 설치
5.8.2. Maven Plugin Goals

본 장에서는 Ant Task에 대해서 설명한다.

JEUS에서는 애플리케이션을 개발하면서 특정 작업을 자동화하기 위해 다음과 같은 Ant Task를 제공한다. 사용자는 Ant를 통해 실행해야 할 Task를 기술한 Build 파일을 작성해야 한다.

본 절에서는 각 기능들의 Build 파일에 기술되어야 할 내용들에 대해서 설명하고, 이를 통해 각 Ant Task를 실행하는 과정을 설명한다. Ant에 대한 설정법과 사용법은 http://ant.apache.org를 참조한다.

Build 파일 : build.xml

build.xml은 Ant Task를 기술한 XML 형식의 Ant Build 파일이다. Build 파일의 중요한 부분은 <project>에 포함되어 있으며, 일반적으로 1개의 프로젝트에 여러 개의 <target>이 존재한다. <target>은 실제 실행해야 하는 Ant Task 작업을 정의한다.

JEUS에서 제공하는 Ant Task를 사용하기 위해서는 다음과 같이 Task definition을 build.xml에 추가해야 한다.

<taskdef resource="jeus/util/ant/jeusant.properties">
    <classpath>
        <path refid="jeus.libraries"/>
    </classpath>
</taskdef>

프로젝트의 속성들은 <project>의 하위에 정의하며, "${property-name}"의 표현식을 통해 프로젝트 내에서 속성 값들을 사용할 수 있다.

주의

JEUS에서 제공하는 Ant Task를 이용할 때는 가급적 Build 파일의 project에 "jeus.home"을 설정해주는 것이 안전하다. 이는 하나의 project에서 다수의 서로 다른 target을 수행할 때 특정 Target은 JEUS_HOME 정보를 필요로 하는 것이 존재할 수 있기 때문이다.

JEUS_HOME은 static final 변수여서 하나의 JVM에서 처음 설정되는 값으로 고정되는 특징이 있다. 만약 JEUS_HOME 정보가 필요없는 Target이 먼저 수행되면, JEUS_HOME에 null 값이 설정된다. 다음 순서로 JEUS_HOME이 필요한 Target이 수행될 때 앞의 Target이 설정한 JEUS_HOME의 값을 이용하게 되므로 원하는 동작과 다르게 동작할 수 있다.

본 절에서는 JEUS 환경을 구성하는 Ant Task를 설명한다.

create-domain Ant Task를 통해 새로운 도메인 환경을 구성할 수 있다.

JEUS_HOME/setup 하위에 제공되는 build.xml에 존재하는 Task로써 다음 파일에서기본 설정 값을 확인할 수 있다.

JEUS_HOME/setup/domain-config-template.properties

다음은 create-domain Task의 속성에 대한 설명이다.

속성설명
domain환경을 구성할 도메인의 이름이다. (기본값: jeus_domain)
servernameDAS의 이름이다. (기본값: adminServer)
nodenameDAS에서 사용하는 node 이름이다. (기본값: node1)
jeus.addressDAS의 기본 동작 주소이다. (기본값: 0.0.0.0 )
jeus.portDAS의 기본 동작 포트이다. (기본값: 9736)
jms.portDAS의 JMS 동작 포트이다. (기본값: 9741)
http.portDAS의 HTTP 동작 포트이다. (기본값: 8808)
jvm.configDAS의 JVM 설정이다. (기본값: -Xmx1024m -XX:MaxPermSize=128m)
jeus.username도메인의 관리 계정 이름이다. 도메인의 관리 계정 이름으로 반드시 변경할 것을 권장한다. (기본값: administrator)
jeus.password도메인의 관리 계정 패스워드로 평문으로는 jeus이며 base64로 인코딩된 값이다. Ant 설정을 통해 변경하거나 jeusadmin의 set-password 명령어를 통해 반드시 변경할 것을 권장한다. (기본값: {base64}amV1cw==)
transport.type

SCF(System Clustering Framework)를 사용할 때 타 서버와 통신하는 방법에 대한 설정이다. HYBRID, MESH, TREE, DUMMY 중 하나를 선택할 수 있다.

DUMMY는 타 서버와 일체의 통신을 수행하지 않는 방식, HYBRID는 IP Multicast를 사용하는 방식이다. MESH와 TREE는 도메인의 구성이 서브넷을 벗어나있거나 IP Multicast가 허용되지 않는 환경에서 TCP/IP를 이용하여 Multicast를 흉내내는 방식이다. 그 중 MESH는 전체 서버가 Full-mesh 형태로 연결되는 방식이며 TREE는 Master서버를 root로 하고 Managed Server들을 leaf로하는 tree의 형태로 연결되는 방식을 의미한다.

transport.address

SCF에 사용되는 주소이다.

선택한 Transport의 Type에 따라 각각 다른 의미로 사용된다. (기본값: 224.0.0.1)

transport.port

SCF에 사용되는 포트이다.

선택한 Transport의 Type에 따라 각각 다른 의미로 사용된다. (기본값: 12488)

예제

다음은 Ant Task를 통한 도메인 생성 예제이다.

도메인의 이름은 'domain1', DAS의 이름은 'adminServer', DAS의 jvm 설정은 '-Xmx512m -XX:MaxPermSize=256m'로 설정한 예제이다. 모두 기본값이 존재하므로 굳이 옵션을 모두 줄 필요는 없으나 아래의 예제에는 방법을 설명하기 위해 옵션을 설정하였다.

JEUS_HOME/setup$ ant create-domain -Ddomain=domain1 -Dservername=adminServer 
-Djvm.config="-Xmx512m -XX:MaxPermSize=256m" -Dtransport.address=224.0.0.1
-Dtransport.port=12488
Buildfile: JEUS_HOME/setup/build.xml

create-domain:
[echo] Creating a domain configuration: domaindir="JEUS_HOME/domains/domain1 
domain = domain1, server-name = adminServer, admin password={base64}amV1cw==, 
server base port=9736, server base listen address=${jeus.address}
[mkdir] Created dir: JEUS_HOME/domains/domain1
[mkdir] Created dir: JEUS_HOME/domains/domain1/.applications
[mkdir] Created dir: JEUS_HOME/domains/domain1/.deploymentplans
[mkdir] Created dir: JEUS_HOME/domains/domain1/bin
[mkdir] Created dir: JEUS_HOME/domains/domain1/config
[mkdir] Created dir: JEUS_HOME/domains/domain1/lib
[mkdir] Created dir: JEUS_HOME/domains/domain1/lib/application
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers
[mkdir] Created dir: JEUS_HOME/domains/domain1/config/servlet
[mkdir] Created dir: JEUS_HOME/domains/domain1/config/security
[copy] Copying 2 files to JEUS_HOME/domains/domain1/config
[copy] Copying 1 file to JEUS_HOME/domains/domain1/config/servlet
[copy] Copying 1 file to JEUS_HOME/domains/domain1/config/security
[copy] Copied 1 empty directory to 1 empty directory under JEUS_HOME/domains/domain1/config/security
[copy] Copying 3 files to JEUS_HOME/domains/domain1/config/security
[echo] productionmode = true
[java] JVM args ignored when same JVM is used.
[copy] Copying 3 files to JEUS_HOME/domains/domain1/bin
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/bin
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/.workspace
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/.workspace/deployed
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/.workspace/deployed/deploymentplans
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/logs
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/lib
[mkdir] Created dir: JEUS_HOME/domains/domain1/servers/adminServer/lib/application

BUILD SUCCESSFUL
Total time: 2 seconds
JEUS_HOME/setup$ 

본 절에서는 서버를 제어하는 Ant Task를 설명한다.

boot Task는 서버를 기동한다. boot Task를 통해 서버를 기동할 때에는 노드 매니저로 명령을 보내 노드 매니저에서 해당 서버를 기동한다. 따라서 반드시 노드 매니저가 기동된 상태여야 한다.

다음은 boot Task의 속성에 대한 설명이다.

속성설명
domainName기동할 서버가 속한 도메인 이름을 설정한다. (필수 입력항목, String 타입)
serverName기동할 서버의 이름을 설정한다. (필수 입력항목, String 타입)
host노드매니저에 접속할 호스트를 설정한다. (필수 입력항목, String 타입)
port노드 매니저에 접속할 포트를 설정한다. (필수 입력항목, Integer 타입)
dasUrlMS를 부팅할 때에 DAS의 url을 설정한다. (String 타입)
connectionType노드 매니저에 접속할 connection type을 설정한다. ssl, plain 중 하나로 설정할 수 있다. (String 타입)
truststorePath노드 매니저가 ssl type으로 기동되어 있는 경우 노드 매니저 접속을 위해 인증하는 데 필요한 Truststore 파일의 경로를 설정한다. (String 타입)
truststorePassword노드 매니저가 ssl type으로 기동되어 있는 경우 노드 매니저 접속을 위해 인증하는 데 필요한 Truststore 파일의 패스워드를 설정한다. (String 타입)
adminServer기동할 서버가 DAS인지 MS인지 여부를 설정한다. (필수 입력항목, Boolean 타입)
force

서버를 기동할 때 deploy 실패 등의 이유로 인해 서버가 STANDBY 상태에 머무르는 경우 서버를 강제로 RUNNING 상태로 만들어 줄지 여부를 설정한다.

(기본값: false)

standby서버를 STANDBY 상태까지만 기동한다. (기본값: false)
username서버를 기동할 사용자명을 설정한다. (필수 입력항목, String 타입)
password서버를 기동할 패스워드를 설정한다. (필수 입력항목, String 타입)

build.xml을 작성한 예제와 해당 파일을 통해 서버의 boot, down을 실행하는 예제에 대해 설명한다.

build.xml 작성 예제

다음은 domain1에 'adminServer'라는 이름을을 가진 DAS를 boot, down하는 build.xml 예제이다.

[예 5.1] boot & down Ant Task build 파일 예제 : <<build.xml>>

<?xml version="1.0"?>

<project name="example" default="boot" basedir=".">
  <property environment="env"/>
  <!-- jeus.home project property is required
       when you run the various tasks in an ant jvm and
       one of the various tasks requirs JEUS_HOME information -->
  <property name="jeus.home" value="${env.JEUS_HOME}"/>

  <!-- set properties to be needed for boot & down task -->
  <property name="domain.name" value="domain1"/>
  <property name="server.name" value="adminServer"/>
  <property name="das.url" value=""/>
  <property name="force" value="false"/>
  <property name="standby" value="false"/>
  <property name="host" value="host1"/>
  <property name="port" value="9736"/>
  <property name="connect.type" value="plain"/>
  <property name="truststore.path" value=""/>
  <property name="truststore.password" value=""/>
  <property name="username" value="administrator"/>
  <property name="password" value="jeus"/>
  <property name="isAdminServer" value="false"/>

  <!-- set the library-classpath or to run the task class -->
  <path id="jeus.libraries">
    <fileset dir="${jeus.home}/lib/system" includes="*.jar"/>
  </path>

  <!-- include the task definition resource file -->
  <taskdef resource="jeus/util/ant/jeusant.properties">
    <classpath>
      <path refid="jeus.libraries"/>
    </classpath>
  </taskdef>

  <target name="init">
  </target>

  <!-- boot task -->
  <target name="boot" depends="init">
    <boot domainName="${domain.name}"
          serverName="${server.name}"
          host="${host}"
          port="${port}"
          connectionType="${connect.type}"
          truststorePath="${truststore.path}"
          truststorePassword="${truststore.password}"
          adminServer="${isAdminServer}"
          dasUrl="${das.url}"
          force="${force}"
          standby="${standby}"
          username="${username}"
          password="${password}"/>
	</target>

  <!-- down task -->
  <target name="down" depends="init">
    <down domainName="${domain.name}"
          serverName="${server.name}"
          host="${host}"
          port="${port}"
          connectionType="${connect.type}"
          truststorePath="${truststore.path}"
          truststorePassword="${truststore.password}"
          username="${username}"
          password="${password}"/>
	</target>

</project>


실행 예제

Ant를 통해 서버를 기동하기 위해서는 노드 매니저가 'startNodeManager' 스크립트를 통해 기동된 상태여야 한다. 이 상태에서 boot 명령을 실행하면 서버가 기동되고, 여기서 down 명령을 실행하면 다시 서버가 종료된다.

  • boot

    $ ant boot
    Buildfile: build.xml
    
    init:
    
    boot:
         [boot] Succeed to start server [adminServer]
    
    BUILD SUCCESSFUL
    Total time: 11 seconds
  • down

    $ ant down
    Buildfile: build.xml
    
    init:
    
    down:
         [down] Succeed to stop server [adminServer]
    
    BUILD SUCCESSFUL
    Total time: 0 seconds

JEUS를 기반으로 EJB 컴포넌트를 개발할 때 작업을 편리하게 수행할 수 있도록 몇 가지의 Ant Task를 제공한다.

appcompiler Ant Task는 pre-deployment 작업 후 EJB 모듈 또는 개별적인 EJB Bean에 대해서 필요한 RMI Stub과 Skeleton 클래스를 임의로 생성하는 경우 사용한다. 또한 이것은 클라이언트에서 원격지에 있는 디플로이된 Bean과 통신할 때 필요한 클래스 파일들 즉 EJB 클라이언트 JAR를 생성할 수 있다.

다음은 appcompiler Ant Task 속성에 대한 설명이다.

속성설명
jeusHomeJEUS_HOME을 설정한다. (String 타입)
client생성될 Stub 클래스들이 포함될 클라이언트 뷰 파일을 설정한다. (String 타입)
keep컴파일 과정에서 생성된 소스를 유지할 것인지를 설정한다. (기본값: false)
jspmap

servlet-mapping table(jeus_jspmap.xml)을 생성할 것인지를 설정한다.

(기본값: false)

ejbJar컴파일할 때 사용할 ejb-jar.xml 파일을 설정한다. (String 타입)
jeusEjbDd컴파일할 때 사용할 jeus-ejb-dd.xml 파일을 설정한다. (String 타입)
namedeploy에 사용할 이름을 설정한다. (String 타입)
target컴파일할 대상 애플리케이션, stand-alone 모듈 파일을 설정한다. (필수 입력항목, String 타입)

예제

다음은 build.xml을 작성한 예제와 build.xml을 통해 appcompiler를 실행하는 예제이다.

ejbddinit Ant Task는 JEUS EJB DD를 생성할 때 이용한다. ejbddinit에 대한 자세한 설명은 “4.4. ejbddinit”을 참고한다.

다음은 ejbddinit Ant Task의 속성에 대한 설명이다.

속성설명
propertyFileejbddinit 실행할 때 참조할 프로퍼티 파일을 지정한다. (String 타입)
logginginglevel

ejbddinit 실행할 때 화면에 출력되는 로그의 레벨을 지정한다.

이 레벨은 Jave SE logging API의 레벨을 따른다. (기본값: INFO)

target

ejbddint 실행 대상이 되는 EJB 모듈의 경로를 지정한다. EJB 모듈은 JAR archive 또는 디렉터리일 수 있다.

(필수 입력항목, 프로퍼티 파일이 Target 정보를 설정한 경우 생략 가능)

ejbddinit Ant Task 스크립트에 제한적으로 ejbddinit 프로퍼티를 설정할 수 있다.

ejbddinit 프로퍼티 파일의 프로퍼티는 ejbddinit Ant Task 스크립트에서 다음과 같은 규칙으로 설정되어야 한다. ejbddinit 프로퍼티에 대한 자세한 내용은 절 4.4. “프로퍼티 목록”을 참고한다.

ejbddinit 프로퍼티 파일ejbddinit Ant 스크립트
export-name=%{ejb-class}<property name="export-name" value="%{ejb-class}"/>
thread-max=100<property name="thread-max" value="100"/>
HelloBean.export-port=55555build.xml에서는 특정 EJB 컴포넌트(HelloBean)에 대한 ejbddinit 프로퍼티 설정이 불가능

ejbddinit 프로퍼티 파일과 같이 Ant 스크립트에서도 export-name 프로퍼티에 대하여 "%{ejb-class}"와 같은 패턴을 사용할 수 있다. export-name 과 관련된 패턴 사용에 관한 내용은 절 4.4. “export-name 프로퍼티에 대한 패턴 지원”을 참고한다.

Ant 스크립트에서는 특정 EJB 컴포넌트에 대한 ejbddinit 프로퍼티 설정은 지원하지 않으므로 특정 EJB 컴포넌트에 대한 ejbddinit 프로퍼티 설정이 필요한 경우에는 ejbddinit 프로퍼티 파일을 따로 작성해야 한다. 특정 EJB 컴포넌트에 대한 설정은 ejbddinit 프로퍼티 파일과 Ant 스크립트의 공통 설정보다 우선한다. ejbddinit 프로퍼티 파일과 ejbddinit Ant 스크립트에 동일한 설정이 존재할 경우에는 Ant 스크립트의 설정을 우선한다.

예제

ejbddinit Ant 스크립트 작성 예와 ejbddinit Ant Task를 실행하는 예는 아래와 같다.

본 절에서는 JEUS에서 웹 서비스 생성과 웹 서비스 클라이언트를 위해 제공하는 Ant Task에 대해서 설명한다.

java2wsdl Task는 SET(Service Endpoint Interface) 클래스와 임의의 Java로 구현한 클래스로부터 다음의 파일을 생성한다.

  • 웹 서비스의 WSDL파일

  • JAX-RPC 매핑 파일

참고

java2wsdl Ant Task를 정의하는 클래스는 jeus.util.ant.webservices.Java2WsdlTask이다.

다음은 java2wsdl의 속성에 대한 설명이다.

속성설명
configfilepath웹 서비스 설정 파일의 경로를 설정한다. (필수 입력항목, String 타입)
classpath

웹 서비스를 구성하는 컴파일된 Java 클래스에 대한 클래스 패스를 설정한다.

(필수 입력항목, String 타입)

destDir생성된 WSDL 파일이 놓일 디렉터리의 절대 경로를 설정한다. (String 타입)
level로그 레벨을 설정한다. (String 타입)
verboseVerbose 메시지를 출력 여부를 설정한다. (기본값: false)

Nested Element

<java2wsdl>은 Ant의 <classpath> element를 가지고 있다.

예제

build.xml을 작성한 예제와 이 build.xml을 통해 java2wsdl을 실행시키는 예를 설명한다.

wsdl2java Task는 웹 서비스의 WSDL로부터 다음의 2개 중에 하나를 생성한다.

  • 클라이언트 측 웹 서비스의 Stub Java 소스 코드들

  • 서버 측 웹 서비스의 인터페이스 Java 소스 코드들

참고

wsdl2java Ant Task를 정의하는 클래스는 'jeus.util.ant.webservices.Wsdl2JavaTask'이다.

다음은 wsdl2java의 속성에 대한 설명이다.

속성설명
wsdlJava 소스 파일을 생성하기 위해서 사용되는 WSDL의 URL이나 절대 경로를 설정한다. (필수 입력항목, String 타입)
mode

Java 소스 파일을 생성하기 위해서 사용되는 MODE를 설정한다. (필수 입력항목, String 타입)

다음 중에 하나를 설정한다.

  • gen:client

  • gen:server

  • gen

  • import:client

  • import:server

  • import

destDir

생성된 Java 파일이 놓일 디렉터리의 절대 경로를 설정한다.

(필수 입력항목, String 타입)

classDestDir컴파일된 클래스 파일이 생성될 디렉터리를 설정한다. (String 타입)
inputMappingJava 클래스를 생성하기 위하여 사용되는 입력 JAX-RPC 매핑 파일을 설정한다. (String 타입)
package

WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 설정한다.

(String 타입)

outputMapping입력 WSDL에 대한 출력 JAX-RPC 매핑 파일을 설정한다. (String 타입)
doCompiletrue일 때 생성된Java 소스 파일들은 컴파일된다. (기본값: true)
usernameWSDL의 URL로 접근할 때 필요한 사용자 이름이다. (String 타입)
passwordWSDL의 URL로 접근할 때 필요한 패스워드이다. (String 타입)
keepSrctrue로 설정하면 생성된Java 소스 파일들은 삭제되지 않는다. (기본값: true)
nowrapped

true로 설정하면 WSDL에 대한 wrapped MODE 탐지를 사용할 수 없다.

(기본값: false)

dataHandlerOnly

true로 설정하면 MIME 타입에 대하여 javax.activation.DataHandler를 적용한다.

(기본값: false)

nodatabinding

모든 WSDL massage part에 대하여 javax.xml.soap.SOAPElement를 적용한다.

(기본값: false)

soapver

stub/tie 클래스에서 사용되는 SOAP 버전을 설정한다.

  • 11 : SOAP 1.1(기본값)

  • 12 : SOAP 1.2

resolveDir원격의 WSDL 파일(스키마 포함)을 로컬 저장소에 저장할 때 값을 설정할 수 있다. (String 타입)
DDGenJEUS의 기본적인 배치 서술자(webservices.xml 파일과 MODE가 web인 경우 web.xml, ejb인 경우 ejb-jar.xml 파일)를 생성할 때 사용한다. (String 타입)
level로그 레벨을 설정한다. (String 타입)
verboseVerbose 출력은 true일 때 가능하다. (기본값: false)

Nested Element

<wsdl2java>는 중첩된 Ant의 <classpath>와 <mapping> element를 가지고 있다. <wsdl2java> Ant Task의 구조는 다음과 같다(+는 한 개 이상의 element를 가질 수 있음을 의미한다).


<mapping>

Java 패키지와 WSDL Namespace 사이의 매핑이다. 사용자가 <mapping>을 생략하면 모든 Namespace URI는 <wsdl2java> element인 package attribute에 기술된 패키지로 매핑된다.

다음은 <mapping>의 속성에 대한 설명이다.

속성설명
packageJava 패키지의 이름이다. (필수 입력항목, String 타입)
namespaceWSDL의 Namespace URI이다. (필수 입력항목, String 타입)

참고

만약 사용자가 <wsdl2java> element의 package 속성을 설정하면 이 속성 값이 <mapping> element로 설정된 값에 우선한다. 즉, <mapping> element로 설정된 값은 무의미해진다.

예제

build.xml을 작성한 예제와 이 build.xml을 통해 wsdl2java를 실행하는 예제를 설명한다.

wsgen Task는 service endpoint interface 클래스(그리고 임의의 Java로 구현한 클래스)로부터 다음을 생성한다.

  • Portable Artifacts

  • 웹 서비스의 WSDL파일(옵션)

참고

wsgen Ant Task를 정의하는 클래스는 'jeus.webservices.jaxws.tools.WsGen2' 이다.

다음은 wsgen 속성에 대한 설명이다.

속성설명
seiservice endpoint interface 클래스 이름을 설정한다. (필수 입력항목, String 타입)
destdir

생성된 클래스 파일이 놓일 디렉터리의 절대 경로를 설정한다.

(필수 입력항목, String 타입)

classpath입력으로 들어오는 클래스 파일들을 찾을 위치를 설정한다. (String 타입)
cpclasspath 속성과 같다. (String 타입)
resourcedestdir

genwsdl 속성과 함께 사용한다. WSDL 파일을 생성할 위치를 설정한다.

(String 타입)

sourcedestdir생성되는 소스 파일들의 위치를 설정한다. (String 타입)
keep생성되는 파일들을 보존 여부를 설정한다. (기본값: false)
verboseVerbose 메시지를 출력 여부를 설정한다. (기본값: false)
genwsdlWSDL 파일이 생성 여부를 설정한다. (기본값: false)
protocol

genwsdl 속성과 함께 사용한다.

wsdl:binding Element에 사용될 프로토콜을 설정한다.

기본값은 soap1.1이며 Xsoap1.2 Xsoap1.2와 같은 값들이 가능하다. Xsoap1.2는 표준은 아니며 extension 속성과 함께 쓰일 수 있다. (String 타입)

servicenamegenwsdl 속성과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:service Element의 이름을 설정할 때 사용한다. (String 타입)
portnamegenwsdl 속성과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:portname Element의 이름을 설정할 때 사용된다. (String 타입)
extension벤더 특정의 확장성을 설정할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다. (Boolean 타입)
policy웹 서비스 정책 설정 파일을 읽어 들인다. (String 타입)

예제

build.xml을 작성한 예제와 이 build.xml을 통해 wsgen을 실행한는 예제이다.

wsimport Task는 웹 서비스의 WSDL로부터 다음의 2개 중에 하나를 생성한다.

  • 클라이언트 측 웹 서비스의 Stub Java 소스 코드들

  • 서버 측 웹 서비스의 인터페이스 Java 소스 코드들

참고

wsimport Ant Task를 정의하는 클래스는 'jeus.webservices.jaxws.tools.WsImport2' 이다.

다음은 wsimport 속성에 대한 설명이다.

속성설명
wsdlJava 소스 파일을 생성하기 위해서 사용되는 WSDL의 URL이나 절대 경로를 설정한다. (필수 입력항목, String 타입)
destDir생성된 Java 파일이 놓일 디렉터리의 절대 경로를 설정한다. (String 타입)
sourcedestdir생성된 소스 파일들이 놓일 위치를 설정한다. 이 속성을 지정하면 keep 속성이 자동으로 설정된다. (String 타입)
keep생성되는 파일들을 보존 여부를 설정한다. (기본값: false)
verboseVerbose 출력은 true일때 가능하다. (기본값: false)
binding외부의 JAX-WS 또는 JAXB 바인딩 파일들을 설정한다. (String 타입)
extension벤더 특정의 확장성을 설정할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다. (Boolean 타입)
wsdllocationWSDL URI를 이 속성에 명시하면 그 URI 값이 생성되는 SEI와 서비스 인터페이스의 @WebService.wsdlLocation Annotation과 @WebServiceClient.wsdlLocation Annotation에 설정된다. (String 타입)
catalogTR9401, XCatalog, OASIS XML Catalog 형식과 같은 외부의 Entity 참조값을 설정할 수 있다. 또한 Ant xmlcatalog 타입을 사용할 수 있다. (String 타입)
package

WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 설정한다.

(String 타입)

target이곳에 지정된 JAXWS 스펙 버전에 따라 코드를 생성한다. (String 타입)
quiet출력 메시지들을 출력 여부를 설정한다. (기본값: false)
policy웹 서비스 정책 설정 파일을 읽어 들인다. (String 타입)

예제

다음은 build.xml을 작성한 예제와 build.xml을 통해 wsimport을 실행하는 예제이다.

xjc Task는 XML 스키마 파일을 Java 프로그래밍 언어로 된 JAXB Content 클래스들로 변환한다.

다음은 xjc 속성에 대한 설명이다.

속성설명
wsdl컴파일하려는 스키마 파일이다. (필수 입력항목, String 타입)
binding스키마 파일에 적용될 외부 추가 바인딩 파일이다. (String 타입)
package이 옵션을 명시하면 생성되는 코드는 이 Java 패키지 하위에 위치한다. 이 옵션은 Command Line의 -p 옵션과 동일한 효과를 갖는다. (String 타입)
destdir생성된 코드는 이 디렉터리 하위에 생성된다. (필수 입력항목, String 타입)
readonlytrue일 경우에 Java 소스 파일들은 읽기 가능 모드이다. (기본값: false)
extensiontrue일 경우에 XJC 바인딩 컴파일러는 확장 모드로 실행된다. (기본값: false)
catalogTR9401, XCatalog, OASIS XML Catalog 포맷과 같은 외부 카탈로그 파일을 설정할 때 사용한다. (String 타입)
removeOldOutput"yes" 값으로 설정되면 produces Element가 가리키는 파일들은 XJC 바인딩 컴파일러가 소스 파일들을 재컴파일하기 전에 모두 삭제된다. (String 타입, "yes"|"no")
source사용할 스키마 컴파일러의 버전을 명시한다. (String 타입, 1.0|2.0)

예제

다음은 build.xml을 작성한 예제와 build.xml을 통해 xjc를 실행하는 예제이다.

본 절에서는 JEUS에서 JAX-WS 기반의 웹 서비스 생성과 웹 서비스 클라이언트를 위해 제공하는 Maven Plugin에 대해서 설명한다.

wsgen Plugin은 service endpoint interface 클래스(그리고 임의의 Java로 구현한 클래스)로부터 다음을 생성한다.

  • Portable Artifacts

  • 웹 서비스의 WSDL파일(옵션)

참고

wsgen plugin은 JEUS_HOME/lib/client/jeus-ws-maven-plugin.jar으로 제공된다. wsgen plugin을 사용하기 위해서는 다음 작업이 선행되어야 한다.

1. jeus-ws-maven-plugin.jar 파일을 로컬 Repository에 install한다.

2. JDK 7 환경에서는 Maven option에 '-Djava.endorsed.dirs=JEUS_HOME/lib/endorsed'를 추가한다.

다음은 wsgen plugin 속성에 대한 설명이다.

속성설명
seiSEI 클래스의 이름을 설정한다. (필수 입력항목, String 타입)
destDir

생성된 클래스 파일이 놓일 디렉터리의 절대 경로를 설정한다.

(기본값: ${project.build.outputDirectory})

resourceDestDir

genwsdl 속성과 함께 사용한다. WSDL 파일을 생성할 위치를 설정한다.

(기본값: ${project.build.directory}/generated-sources/wsdl)

sourceDestDir

생성되는 소스 파일들의 위치를 설정한다.

(기본값: ${project.build.directory}/generated-sources/wsgen)

keep생성되는 파일들을 보존 여부를 설정한다. (기본값: true)
verboseVerbose 메시지를 출력 여부를 설정한다. (기본값: false)
genWsdlWSDL 파일이 생성 여부를 설정한다. (기본값: false)
protocolgenwsdl 속성과 함께 쓰이며 wsdl:binding Element에 사용될 프로토콜을 설정한다. 기본값은 soap1.1 이며 Xsoap1.2 Xsoap1.2와 같은 값들이 가능하다. Xsoap1.2는 표준은 아니며 extension 속성과 함께 쓰일 수 있다. (String 타입)
servicenamegenwsdl 속성과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:service Element의 이름을 설정할 때 사용한다. (String 타입)
portnamegenwsdl 속성과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:portname Element의 이름을 설정할 때 사용된다. (String 타입)
extension벤더 특정의 확장성을 설정할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다. (기본값: false)

예제

pom.xml을 작성한 예제와 이 pom.xml을 통해 wsgen plugin을 실행하는 예제에 대한 설명이다.

wsimport Plugin은 웹 서비스의 WSDL로부터 다음의 2개 중에 하나를 생성한다.

  • 클라이언트 측 웹 서비스의 Stub Java 소스 코드들

  • 서버 측 웹 서비스의 인터페이스 Java 소스 코드들

참고

wsimport plugin은 JEUS_HOME/lib/client/jeus-ws-maven-plugin.jar으로 제공된다. wsimport plugin을 사용하기 위해서는 다음 작업이 선행되어야 한다.

1. jeus-ws-maven-plugin.jar 파일을 로컬 Repository에 install한다.

2. JDK 7 환경에서는 mavan option에 '-Djava.endorsed.dirs=JEUS_HOME/lib/endorsed'를 추가한다.

다음은 wsimport plugin 속성에 대한 설명이다.

속성설명
wsdlDirectoryJava 소스 파일을 생성하기 위해서 사용되는 WSDL 파일들을 포함한 디렉터리 경로를 설정한다. (기본값: ${basedir}/src/wsdl)
wsdlFilesLocal WSDL 파일 리스트를 설정한다. (String 타입)
wsdlUrlsExternal WSDL URL 리스트를 설정한다. (String 타입)
destDir

생성된 Java 파일이 놓일 디렉터리 경로를 설정한다.

(기본값: ${project.build.outputDirectory})

sourceDestDir생성된 소스 파일들이 놓일 위치를 설정한다. 이 속성을 지정하면 keep 속성이 자동으로 설정된다. (기본값: ${project.build.directory}/generated-sources/wsimport)
keep생성되는 파일들을 보존 여부를 설정한다. (기본값: true)
verboseVerbose 출력은 true일 때 가능하다. (기본값: false)
bindingDirectory

JAX-WS 또는 JAXB 바인딩 파일들을 포함한 디렉터리 경로를 설정한다.

(기본값: ${basedir}/src/jaxws)

bindingFilesJAX-WS 또는 JAXB 바인딩 파일 리스트를 설정한다. (String 타입)
extension벤더 특정의 확장성을 설정할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다. (기본값: false)
wsdlLocationWSDL URI를 이 속성에 명시하면 그 URI 값이 생성되는 service end-point interface와 서비스 인터페이스의 @WebService.wsdlLocation Annotation과 @WebServiceClient.wsdlLocation Annotation에 설정된다.
catalogTR9401, XCatalog, OASIS XML Catalog 형식과 같은 외부의 Entity 참조값을 설정할 수 있다. 또한 Ant xmlcatalog 타입을 사용할 수 있다.
packageName

WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 설정한다.

(String 타입)

target이곳에 지정된 JAXWS 스펙 버전에 따라 코드를 생성한다. (String 타입)
quiet출력 메시지들을 출력 여부를 설정한다. (기본값: false)

예제

다음은 pom.xml을 작성한 예제와 pom.xml을 통해 wsimport plugin을 실행하는 예제에 대한 설명이다.

Ant Build 파일(일반적으로 build.xml)을 편집하여 jeusadmin 명령어를 실행하는 방법을 소개한다. 예제를 통해 Ant Target을 작성하는 방법을 설명한다.

예제

다음은 Ant를 사용하여 server-info 명령어 수행하는 예제이다.

<project name="check-server-state-example" default="check-server-state">
    <property environment="env"/>
    <property name="jeus.home" value="${env.JEUS_HOME}"/>
    <property name="jeus.home.bin" value="${jeus.home}/bin"/>
    <property name="unix.jeusadmin" value="${jeus.home.bin}/jeusadmin"/>
    <property name="windows.jeusadmin" value="${jeus.home.bin}/jeusadmin.cmd"/>
    <property name="jeusadmin.args" value="-u administrator -p jeus -host host1 -port 9736 -verbose"/>
    <property name="server.name" value="adminServer"/>
    <property name="cmd.target" value="server-info -server ${server.name} -state"/>
    
    <condition property="isWindows">
        <os family="windows"/>
    </condition>
    <condition property="isUnix">
        <os family="unix"/>
    </condition>

    <target name="check-server-state">
        <antcall target="check-server-state-unix"/>
        <antcall target="check-server-state-windows"/>
    </target>

    <target name="check-server-state-windows" if="isWindows">
        <echo>${windows.jeusadmin} ${jeusadmin.args} ${cmd.target}</echo>
        <exec executable="${windows.jeusadmin}" osfamily="windows" spawn="false" 
              failonerror="true">
            <arg line="${jeusadmin.args}"/>
            <arg value="${cmd.target}"/>
        </exec>
    </target>

    <target name="check-server-state-unix" if="isUnix">
        <echo>${unix.jeusadmin} ${jeusadmin.args} ${cmd.target}</echo>
        <exec executable="${unix.jeusadmin}" osfamily="unix" spawn="false" 
              failonerror="true">
            <arg line="${jeusadmin.args}"/>
            <arg value="${cmd.target}"/>
        </exec>
    </target>
</project>

예제를 UNIX 운영체제에서 실행한 결과는 다음과 같다.

JEUS_HOME/bin$jant check-server-state
Buildfile: JEUS_HOME/bin/build.xml

check-server-state:

check-server-state-unix:
     [echo] JEUS_HOME/bin/jeusadmin -u administrator -p jeus -host host1 -port 9736 -verbose server-info -server adminServer -state
     [exec] Verbose output is enabled.
     [exec] Attempting to connect to localhost:9736.
     [exec] The connection has been established to Domain Administration Server adminServer in the domain domain1.
     [exec] RUNNING
     [exec] 

check-server-state-windows:

BUILD SUCCESSFUL
Total time: 1 second
JEUS_HOME/bin$

본 절에서는 JEUS Maven Plugin에 대해 설명한다. JEUS Maven Plugin을 사용하면 Apache Maven을 사용하여 JEUS 서버를 기동하거나, 애플리케이션을 배포하는 등과 같은 작업을 수행할 수 있다.

JEUS Maven Plugin에서 제공하는 goal들에 대해 설명한다.

DAS(start-das)를 기동한다. 내부적으로는 JEUS_HOME/bin 아래에 있는 스크립트를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:start-das
  • 매개변수

    아래 매개변수 중 user와 password, filename은 필수 입력항목이 아니지만, user/password 또는 filename 중 하나는 반드시 설정해야 한다.

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    DAS의 host address를 설정한다.

    (필수 입력항목)

    portjeus.server.portjava.lang.IntegerDAS의 포트 번호를 설정한다. (필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다.
    passwordjeus.user.passwordjava.lang.StringJEUS 사용자 비밀번호를 설정한다.
    domainjeus.domain.namejava.lang.String

    DAS가 속한 domain 이름을 설정한다.

    (필수 입력항목)

    serverjeus.server.namejava.lang.StringDAS 이름을 설정한다. (필수 입력항목)
    filenamejeus.auth.filejava.lang.StringJEUS 인증할 때 사용할 계정 정보 파일을 설정한다. startDomainAdminServer 스크립트에서 제공하는 f 옵션과 동일하다.
    waitingTimejeus.boot.timeoutjava.lang.IntegerJEUS를 기동시키고 난 후 플러그인에서는 일정 시간 동안 기다리면서 서버가 제대로 기동되었는지 여부를 검사하여 goal이 성공적으로 수행되었는지 여부를 판단한다. 이때 얼마나 기다릴지 설정하는 값이다. (단위: 초, 기본값: 10초)
    cacheloginjeus.server.start.cacheloginboolean기동할 때 사용한 인증 정보를 저장할지 여부를 설정한다. (기본값: false)
    forcejeus.server.start.forcedboolean기동할 때 설정되어 있는 애플리케이션이 모두 RUNNING 상태가 되지 않더라도 부팅이 완료되게 한다. (기본값: false)
    rollingjeus.server.start.rollingboolean

    Rolling patch 기능 사용 여부를 설정한다.

    (기본값: false)

    verbosejeus.server.start.verboseboolean

    상세 출력 사용 여부를 설정한다.

    (기본값: false)

    standbyjeus.server.start.standbyboolean

    Standby booting 사용 여부를 설정한다.

    (기본값: false)

  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - start-das -->
    <plugin>
        <groupId>jeus.tool</groupId>
        <artifactId>jeus-maven-plugin</artifactId>
        <version>8.0.0.0</version>
        <configuration>
          <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <domain>domain1</domain>
        <server>adminServer</server>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:start-das
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:start-das (default-cli) @ maven-sample ---
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 11.414s
    [INFO] Finished at: Mon Feb 17 16:16:39 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

MS를 기동한다. 내부적으로는 JEUS_HOME/bin 아래에 있는 스크립트를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:start-ms
  • 매개변수

    아래 매개변수 중 user와 password, filename은 필수 입력항목이 아니지만, user/password 또는 filename 중 하나는 반드시 설정해야 한다.

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    DAS의 host address를 설정한다.

    (필수 입력항목)

    portjeus.server.portjava.lang.IntegerDAS의 포트 번호를 설정한다. (필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다.
    passwordjeus.user.passwordjava.lang.StringJEUS 사용자 비밀번호를 설정한다.
    domainjeus.domain.namejava.lang.String

    DAS가 속한 domain 이름을 설정한다.

    (필수 입력항목)

    serverjeus.server.namejava.lang.StringDAS 이름을 설정한다. (필수 입력항목)
    filenamejeus.auth.filejava.lang.StringJEUS를 인증할 때 사용할 계정 정보 파일을 설정한다. startDomainAdminServer 스크립트에서 제공하는 f 옵션과 동일하다.
    waitingTimejeus.boot.timeoutjava.lang.IntegerJEUS를 기동시키고 난 후 플러그인에서는 일정 시간 동안 기다리면서 서버가 제대로 기동되었는지 여부를 검사하여 goal이 성공적으로 수행되었는지 여부를 판단한다. 이때 얼마나 기다릴지 설정하는 값이다. (단위: 초, 기본값: 10초)
    cacheloginjeus.server.start.cacheloginboolean기동할 때 사용한 인증 정보를 저장할지 여부를 설정한다. (기본값: false)
    forcejeus.server.start.forcedboolean기동할 때 설정되어 있는 애플리케이션이 모두 RUNNING 상태가 되지 않더라도 부팅이 완료되게 한다. (기본값: false)
    rollingjeus.server.start.rollingboolean

    Rolling patch 기능 사용 여부를 설정한다.

    (기본값: false)

    verbosejeus.server.start.verboseboolean상세 출력 사용 여부를 설정한다. (기본값: false)
    standbyjeus.server.start.standbyboolean

    Standby booting 사용 여부를 설정한다.

    (기본값: false)

    dasurljeus.server.start.dasurljava.lang.StringMS가 속한 domain을 관리하는 DAS의 url을 설정한다. (필수 입력항목)
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - start-ms -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <domain>domain1</domain>
        <server>server1</server>
        <dasurl>host1:9736</dasurl>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:start-ms
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:start-ms (default-cli) @ maven-sample ---
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 11.161s
    [INFO] Finished at: Mon Feb 17 16:36:16 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------

접속한 서버를 종료시킨다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 local-shutdown 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:stop-jeus

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.String

    JEUS 사용자 이름을 설정한다.

    (필수 입력항목)

    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - stop-jeus -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:stop-jeus
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:stop-jeus (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [local-shutdown]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] The server [adminServer] has been shut down successfully.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.690s
    [INFO] Finished at: Mon Feb 17 17:19:10 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

애플리케이션을 deploy한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 deploy-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:deploy

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.String

    JEUS 사용자 이름을 설정한다.

    (필수 입력항목)

    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - deploy -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>myWeb</param>
          <param>-servers adminServer</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:deploy
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:deploy (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [deploy-application myWeb -servers adminServer ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] deploy the application for the application [myWeb] succeeded.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 1.116s
    [INFO] Finished at: Mon Feb 17 16:50:32 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

deploy했던 애플리케이션을 undeploy한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 undeploy-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:undeploy

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integer

    jeusadmin으로 접속할 서버의 포트 번호이다.

    (기본값: 9736, 필수 입력항목)

    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - undeploy -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>myWeb</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:undeploy
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:undeploy (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [undeploy-application myWeb ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] Undeploying [myWeb] (This may take time due to graceful undeployment) ..........
    [INFO] undeploy the application for the application [myWeb] succeeded.
    [INFO] successfully undeployed (elapsed = 147ms)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.814s
    [INFO] Finished at: Mon Feb 17 17:06:40 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

deploy한 애플리케이션의 서비스를 시작한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 start-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:start-app

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - start-app -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>myWeb</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:start-app
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:start-app (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [start-application myWeb ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] start the application for the application [myWeb] succeeded.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.678s
    [INFO] Finished at: Mon Feb 17 17:14:07 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

서비스 중인 애플리케이션을 정지시킨다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 stop-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:stop-app

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - stop-app -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>myWeb</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:stop-app
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:stop-app (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [stop-application myWeb ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] stop the application for the application [myWeb] succeeded.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.635s
    [INFO] Finished at: Mon Feb 17 17:16:48 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

애플리케이션을 DAS에 설치한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 install-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:install-app

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - install-app -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>/home/user/myWeb.war</param>
          <param>-id myWeb</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:install-app
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:install-app (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [install-application /home/user/myWeb.war -id myWeb ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] Successfully installed the application [myWeb].
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 1.019s
    [INFO] Finished at: Mon Feb 17 17:22:57 KST 2014
    [INFO] Final Memory: 2M/77M
    [INFO] ------------------------------------------------------------------------
    

DAS에 설치되어 있는 애플리케이션을 제거한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용하여 uninstall-application 명령어를 실행한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:uninstall-app

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이다.

    <!-- JEUS Maven Plugin - uninstall-app -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <args>
          <param>myWeb</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 일반적으로 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:uninstall-app
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:uninstall-app (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [uninstall-application myWeb ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] uninstall the application for the application [myWeb] succeeded. : Successfully deleted [myWeb].
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.654s
    [INFO] Finished at: Mon Feb 17 17:24:42 KST 2014
    [INFO] Final Memory: 2M/61M
    [INFO] ------------------------------------------------------------------------
    

지정한 jeusadmin 명령어를 실행한다. 내부적으로는 콘솔 툴(jeusadmin)에서 제공하는 one-step execution 기능을 사용한다.

  • 사용법

    jeus.tool:jeus-maven-plugin:jeusadmin

  • 매개변수

    매개변수 이름프로퍼티 이름타입설명
    jeusHomejeus.homejava.lang.String

    JEUS가 설치되어 있는 경로를 설정한다.

    (필수 입력항목)

    hostjeus.server.hostjava.lang.String

    jeusadmin으로 접속할 서버의 주소이다.

    (필수 입력항목)

    portjeus.server.portjava.lang.Integerjeusadmin으로 접속할 서버의 포트 번호이다. (기본값: 9736, 필수 입력항목)
    userjeus.user.namejava.lang.StringJEUS 사용자 이름을 설정한다. (필수 입력항목)
    passwordjeus.user.passwordjava.lang.String

    JEUS 사용자 비밀번호를 설정한다.

    (필수 입력항목)

    args없음java.util.List명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다. pom.xml에 설정할 경우 사용하는 것을 권장한다.
    argjeus.jeusadmin.command.argumentsjava.lang.String명령어를 실행할 때 넘겨줄 인자값들을 설정한다. arg와 args 둘 다 설정하였을 경우 arg가 우선한다.
    commandjeus.jeusadmin.commandjava.lang.String

    실행할 jeusadmin 명령어 이름을 설정한다.

    (필수 입력항목)

  • 예제

    매개변수는 pom.xml에 설정하거나 command line에서 실행할 때 지정할 수 있다.

    다음은 pom.xml에 설정을 한 예제이며, 수행할 명령어는 server-info -server adminServer -state이다.

    <!-- JEUS Maven Plugin - jeusadmin -->
    <plugin>
      <groupId>jeus.tool</groupId>
      <artifactId>jeus-maven-plugin</artifactId>
      <version>8.0.0.0</version>
      <configuration>
        <jeusHome>/home/user1/jeus</jeusHome>
        <host>host1</host>
        <port>9736</port>
        <user>administrator</user>
        <password>jeus</password>
        <command>server-info</command>
        <args>
          <param>-server adminServer</param>
          <param>-state</param>
        </args>
      </configuration>
    </plugin>

    goal을 실행하였을 경우 출력되는 결과는 다음과 같다.

    $ mvn jeus.tool:jeus-maven-plugin:jeusadmin
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building maven-sample-project 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- jeus-maven-plugin:8.0.0.0:jeusadmin (default-cli) @ maven-sample ---
    [INFO] jeus.home = /home/user1/jeus
    [INFO] jeusadmin.path = /home/user1/jeus/bin/jeusadmin
    [INFO] jeusadmin.one-step-execution-command = [server-info -server adminServer -state ]
    [INFO] Attempting to connect to host1:9736.
    [INFO] The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [INFO] RUNNING
    [INFO] 
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.642s
    [INFO] Finished at: Mon Feb 17 17:29:13 KST 2014
    [INFO] Final Memory: 2M/77M
    [INFO] ------------------------------------------------------------------------