레이블이 ant인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ant인 게시물을 표시합니다. 모든 게시물 표시

2018년 3월 19일 월요일

ivy

ivy 


http://ant.apache.org/ivy/

  • 의존성 해결
  • ant 필요

sample


https://github.com/bjtj/tjsamples/tree/master/java/ivy


설치


  1. 압축 파일 download
  2. 압축 해제
  3. jar 파일을 build.xml 파일에 위치


build.xml 파일


ivy 설정 target 과 resolve target 추가

<project name="my-project" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
    <target name="init-ivy">
        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant">
            <classpath>
                <pathelement location="ivy-2.4.0.jar" />
            </classpath>
        </taskdef>
    </target>


    <target name="resolve" depends="init-ivy">
        <ivy:retrieve />
    </target>

</project>

  • ivy-2.4.0.jar 은 실제 파일로 수정

ivy.xml 파일


<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
  <info organisation="myorg" module="mymodule" />
  <dependencies>
    <dependency org="mysql" name="mysql-connector-java" rev="6.0.6"/>

  </dependencies>
</ivy-module>



의존성 해결 수행


$ ant resolve

lib 폴더에 의존성 파일들 복사됨


의존성 목록 검색


아래 사이트에서 가용 라이브러리 정보 확인

https://mvnrepository.com/

  1. 라이브러리 검색
  2. 버전 클릭
  3. ivy dependency xml 복사하여 ivy.xml 에 붙여 넣기



2012년 6월 4일 월요일

Ant 사용

소개


Command line 으로 java 프로젝트를 빌드하기에는 패키지명까지 일일이 적어야 하는 번거로움이 있기 때문에 빌드를 도와주는 빌드 시스템을 주로 이용하게 되며 그 중 ant 빌드 시스템 사용법을 기술


1. Ant 설치

  1. 다운로드 : http://ant.apache.org/bindownload.cgi
  2. 원하는 경로에 압축을 해제
  3. $ANT_HOME/bin 경로를 PATH 환경 변수에 추가

2. 소스 코드 및 build.xml 작성

예제 project : hello

최종 폴더 구조
hello/
 + src/
   + com/sample/hello/
     + Hello.java
 + build.xml
 + dist/
   + com/sample/hello/
     + Hello.class

Hello.java
package com.sample.hello;

public class Hello {
 public static void main(String[] args) throws Exception {
  System.out.println("Hello!");
 }
}

build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="hello" default="compile">

 <property name="build.dir" location="dist" />

 <target name="compile">
  <mkdir dir="${build.dir}" />
  <javac destdir="${build.dir}" source="1.6" target="1.6" debug="true"
   deprecation="false" optimize="false" failonerror="true">
   <src path="src" />
  </javac>
 </target>
</project>

설명
  • project - root 노드
    • default 속성 - ant 수행시 기본으로 수행할 target 지정
  • property - variable 지정
  • target - 작업 수행 단위
  • mkdir - 폴더 생성
  • javac - java compile
  • src - 소스 경로 지정

3. compile 하기

$ pwd
/path/to/hello
$ ant compile

4. 실행하기

$ pwd
/path/to/hello
$ java -cp dist com.sample.hello.Hello
Hello!

!) Ant 로 실행하기
아래 코드를 project 태그 안에 추가한다.
<target name="run">
 <java classname="com.sample.hello.Hello">
  <classpath>
   <pathelement location="${build.dir}" />
  </classpath>
 </java>
</target>

실행
$ ant run
Buildfile: /path/to/hello/build.xml

run:
[java] Hello!

BUILD SUCCESSFUL
Total time: 0 seconds


Timestamp
tstamp 태그를 이용한다.
참고: http://ant.apache.org/manual/Tasks/tstamp.html
예)
<tstamp>
    <format property="TODAY_UK" pattern="d-MMMM-yyyy" locale="en,UK" />
</tstamp>
또는
<tstamp>
    <format property="today" pattern="yyyy-MM-dd_HHmmss" />
</tstamp>

locale 을 지정하지 않으면 시스템 시간대가 사용된다.

특정 폴더의 파일 목록 출력하기
참고: http://stackoverflow.com/questions/1456852/how-can-i-print-a-fileset-to-a-file-one-file-name-per-line
예)
<fileset id="my-file-list" dir="."></fileset>
    <pathconvert pathsep="${line.separator}" property="files" refid="my-file-list"/>
<echo message="${files}"/>

폴더 만들기
참고: http://ant.apache.org/manual/Tasks/mkdir.html
<mkdir dir="${path}" />

파일 복사하기
copy 태그를 이용한다.
예)
<copy todir="${to-dir}">
    <fileset dir="${from-dir}">
    </fileset>