Ant��Java�̃r���h���ȒP�ɂ����F����Ɋ�����Jakarta Project�i2�j

» 2003�N01��16�� 00��00�� ���J
[���{���j�CNTT�f�[�^]

�@����́AJava Solution�t�H�[�����ōs�����u��7��ǎҒ����F�ƂȂ�̉�Ђ�Jakarta Project�����p���Ă���H�v�ŁATomcat�Ɏ����ŗ��p�҂����������r���h�c�[����Ant�����グ�܂��BAnt�ɂ‚��ẮA��{�҂Ɖ��p�҂�2��ɕ����Ă��Љ�܂��B��{�҂ƂȂ鍡��́AAnt�̊T�v�Ɗ�{�I�Ȏg�����ɂ‚��ĉ�����܂��傤�B

�@�r���h�c�[���Ƃ����ƁAmake���v�������ׂ���������Ǝv���܂����AAnt�̃r���h�t�@�C����XML�ŋL�q����Ƃ�������������AJava�Ƃ̐e�a���������Ȃ��Ă��܂��B�O�q�̓ǎҒ����ɂ��ƁA���ݗ��p���̊J���c�[���Ƃ��āu�G�f�B�^�{JDK�v���ł����������̂ł����A�܂��ɂ��̊J���p�^�[���ł���Ant���g���̂������Ƃ������Ƃ��ł���ł��傤�B

�@Borland JBuilder�Ȃǂ�IDE���g���Ă�����́A�uIDE���g���ăr���h�����Ant�Ȃ�ĕK�v�Ȃ��̂ł͂Ȃ����H�v�Ǝv���邩������܂���B�������A�Ⴆ�΁AWindows�‹��ŊJ�����s���A����m�F��UNIX��ōs���Ƃ������N���X�J�����s���Ă���ꍇ�A�\�[�X�R�[�h�̕s������‚��邽�т�Windows��Ńr���h���āAUNIX�‹��ɃR�s�[���ē���m�F����c�c�Ƃ�������Ԃ��������Ƃ��J��Ԃ��Ă��邱�Ƃ͂���܂��񂩁H����m�F���s�����߂̃}�V�����l�b�g���[�N�ɐڑ�����Ă���ꍇ�͂܂��悢�̂ł����A�����łȂ��ꍇ�̓t���b�s�[�f�B�X�N��CD-R�ɏ������ނȂǁA��Ԃ��{�����܂��B

�@���̂悤�ȂƂ��ɂ��AAnt�𗘗p���邱�Ƃɂ��AJDK���C���X�g�[�����ꂽ�‹��ł���΁A�ȒP�Ƀ\�[�X����r���h���邱�Ƃ��ł��A�t�@�C���R�s�[�̎�Ԃ��Ȃ��J���������オ��܂��B�܂��A�ŋ߂�IDE��Ant���T�|�[�g���Ă�����̂������̂ŁAAnt�ō쐬���Ă����΁A�ق���IDE��ŊȒP�Ƀr���h���邱�Ƃ��ł��܂��B

Ant���g���Ă݂悤

�@�u�S���͈ꌩ�ɂ������v�Ƃ������ƂŁA�܂���Ant���g���Ă݂܂��傤�BAnt��Jakarta�̃T�C�ghttp://www.apache.org/dist/ant/binaries/����_�E�����[�h���āA�K���ȃf�B���N�g���ɉ𓀂��Ă��������B�M�҂̊‹��ł́A���M���̍ŐV�o�[�W����1.5.1��/usr/local/jakarta-ant-1.5.1�iWindows�̏ꍇ�́Ac:\usr\local\jakarta-ant-1.5.1�j�ɓW�J���܂����B

�@�ł́A�T���v�����_�E�����[�h���Ď��ۂɎ����Ă݂܂��傤�B��������_�E�����[�h���Ă��������B

�@Ant�̊‹��ݒ���s���܂��BUNIX�‹��̏ꍇ�A�‹��ϐ�JAVA_HOME��JDK�̃C���X�g�[���f�B���N�g�����AANT_HOME��Ant�̃C���X�g�[���f�B���N�g����ݒ肵�APATH��$ANT_HOME/bin�ɒʂ��Ώ����͊����ł��B�������ł�����A���L�̂悤�ɃT���v����W�J���Aant�R�}���h�����s���Ă��������B

��UNIX�ibash�j�̏ꍇ
$ export ANT_HOME=/usr/local/jakarta-ant-1.5.1
$ export JAVA_HOME=/usr/local/j2sdk1.4.1_01
$ export PATH=/usr/local/jakarta-ant-1.5.1/bin:${PATH}
$ jar xvf hello-ant.zip
$ cd hello-ant
$ ant
Buildfile: build.xml

compile:
compile�^�[�Q�b�g�̎��s
[mkdir] Created dir:
/tmp/hello-ant/classes
[javac] Compiling 2 source files to
/tmp/hello-ant/classes


jar: jar�^�[�Q�b�g�̎��s
[jar] Building jar:
/tmp/hello-ant/foo-1.0.jar

�@�ŏ��̊‹��ϐ��̐ݒ�́A.bashrc�Ȃǂɏ����Ă����Ƃ悢�ł��傤�B

�@Windows�̊‹��̏ꍇ�́A���[�U�[�‹��ϐ���JAVA_HOME�AANT_HOME�APATH�����ꂼ��A���L�̂悤�ɐݒ肵�܂��B

JAVA_HOME c:\j2sdk1.4.1_01�iJ2SDK�̃C���X�g�[���f�B���N�g��)
ANT_HOME c:\usr\local\jakarta-ant-1.5.1
PATH c:\usr\local\jakarta-ant-1.5.1\bin

�@�‹��ݒ肪�ł�����A�ȉ��̂悤��ant�R�}���h�����s���Ă��������B���̂悤�Ȏ��s���ʂ�������͂��ł��B

��Windows�̏ꍇ
C:\tmp> jar xvf hello-ant.zip
C:\tmp> cd hello-ant
C:\tmp\hello-ant> ant
Buildfile: build.xml

compile: compile�^�[�Q�b�g�̎��s
[mkdir] Created dir: C:\tmp\hello-ant\classes
[javac] Compiling 2 source files to C:\tmp\hello-ant\classes


jar: jar�^�[�Q�b�g�̎��s
[jar] Building jar: C:\tmp\hello-ant\foo-1.0.jar

BUILD SUCCESSFUL
Total Time: 7 seconds

�@����ŁAJava�\�[�X�̃R���p�C����jar�t�@�C��foo-1.0.jar�̍쐬���s���܂����BAnt�͎��s�����J�����g�f�B���N�g���ɂ���r���h�t�@�C��build.xml��ǂݍ��݁A�r���h�����s���܂��B���̗�ł́A��ŏЉ��r���h�̎��s�P�ʁu�^�[�Q�b�g�v�̃f�t�H���g�l��jar�ƂȂ��Ă���̂ŁAjar�^�[�Q�b�g�̎��s�ƁAjar�^�[�Q�b�g�Ɉˑ�����compile�^�[�Q�b�g�����s���Ă��܂��B

�@�ł́Aclasses�f�B���N�g���̉���Foo1.class�����s���݂Ă݂܂��傤�B�ȉ��̎��s���ʂ�������͂��ł��B

��Windows�̏ꍇ
C:\tmp\hello-ant> cd classes
C:\tmp\hello-ant>classes>java Foo1
����ɂ���Ant

�@�f�t�H���g�ł͎��s����܂��񂪁A�T���v���ɂ�javadoc�̐����v���Z�X���܂߂Ă��邽�߁A���̂悤��javadoc�^�[�Q�b�g���w�肵�Ď��s����ƁAapi�f�B���N�g���̉���JavaDoc����������܂��B

ant javadoc

�܂��Abuild.xml�ȊO�̃r���h�t�@�C���𗘗p�������ꍇ�́A-f�I�v�V�����ŁA

ant -f [�r���h�t�@�C����]

�ŁA�r���h�t�@�C�����w�肷�邱�Ƃ��ł��܂��B

Ant�̓���

�@Ant�̋�̓I�ȉ���ɓ���܂��ɁAAnt�̓����ɂ‚��Đ������܂��傤�BAnt���g���ƈȉ��̂悤�ȃ����b�g������܂��B

�i1�j���G�ȃR���p�C���v���Z�X���ȗ����”\
�@Ant�𗘗p����ƁA�R���p�C���Ajar�t�@�C���쐬�Ȃǂ̃r���h�菇���`�����ł���̂ŁA���G�ȃr���h�菇���ȗ����ł��܂��B�t�ɁA�ȒP�ȃr���h�R�}���h�ŃR���p�C���ł���ꍇ�i�Ⴆ�΁A�\�[�X�t�@�C����1�‚����Ȃ��Ajavac�R�}���h��1����s���邾���ŃR���p�C���”\�ȏꍇ�Ȃǁj�́A�r���h�t�@�C���̍쐬�Ɏ�Ԃ�������A�������č�ƕ��ׂ������܂��B

�i2�j�L�x��Java�J���c�[���ւ̑Ή�
�@javac�Ajar�Armic�Awar�Anative2ascii�Ȃǂ̃R�}���h�̎��s�ɑΉ����Ă��܂��BAnt�ł́A���ꂼ��̃R�}���h�����s���邽�߂́u�^�X�N�v�ƌĂ΂��N���X���p�ӂ���Ă��܂��B�܂��A�ŋ߂ł́AJavaBeans����EJB�𐶐�����xdoclet�^vdoclet�ȂǁAJakarta�ȊO������^�X�N���񋟂���Ă��܂��B

�i3�j�����v���Z�X�̃O���[�v��
�@�\�[�X�̃R���p�C����jar�t�@�C���̐����Ajavadoc�����ȂǁA����܂Ƃ܂����������^�[�Q�b�g�ɂ܂Ƃ߂邱�Ƃ��ł��܂��B�Ⴆ�΁Ajavac�^�X�N��native2ascii�^�X�N���܂Ƃ߂ăR���p�C���^�[�Q�b�g�Ƃ��邱�Ƃ��ł��܂��B�^�[�Q�b�g�ɂ��A���̎��X�ŕK�v�Ƃ���鏈���݂̂��ȒP�ɑI�����Ď��s�ł���悤�ɂȂ��Ă��܂��B

�i4�j�ˑ��֌W�̉���
�@�Ⴆ��jar�t�@�C���̍쐬�̑O�ɂ́A�\�[�X�̃R���p�C�����K�v�ł��BAnt�͂��̂悤�ȏ����̈ˑ��֌W�������ł��܂��B���̂���jar�t�@�C�����쐬����O�ɁA�\�[�X���R���p�C������Ă��邩�ۂ����ӎ�����K�v���Ȃ��Ȃ�܂��B

�i5�j�C���N�������^���ȃr���h
�@�r���h�������s���^�X�N�́A��{�I�Ƀ^�C���X�^���v�𒲂ׂď������K�v�ȃt�@�C�������������܂��B�Ⴆ�΁A��x�\�[�X���R���p�C��������Ń\�[�X��ύX�����ꍇ�A�ύX���������\�[�X�݂̂��ăR���p�C�����邱�Ƃ��ł��܂��B

Ant�̎g������make�Ɣ�r���ė�������

�@�ł́Amake�ŗp����Makefile��Ant�̃r���h�t�@�C����Δ䂵�Ȃ���AAnt�̎g���������Ă����܂��傤�B�܂��́Amake�Ŏg�p����Makefile�i���X�g1�j�����Ă��������i�Ȃ��A���X�g1�ƃ��X�g2�͋@�\���ɐF�������Ă��܂��j�B

�� �ϐ��ݒ�
�� jar�t�@�C���̐���
�� �R���p�C�����s
�� javadoc����
�D�F �t�@�C���̃N���[���A�b�v
���X�g1�@Makefile�̗�
######## �ϐ��̐ݒ� ########

# �\�[�X�t�@�C���̈ꗗ
BUILD_SRC=src/foo1.java src/pkg/foo2.java

# �\�[�X�t�@�C�����琶�������N���X�t�@�C��
BUILD_DEST=classes
BUILD_FILES=$(BUILD_DEST)/foo1.class $(BUILD_DEST)/pkg/foo2.class

# JavaDoc�t�@�C��
JAVADOC_DEST=api
JAVADOC_FILE=$(JAVADOC_DEST)/foo1.html $(JAVADOC_DEST)/pkg/foo2.html

# jar�t�@�C��
JAR=foo.jar


## jar�t�@�C������
jar:$(JAR)
$(JAR):$(BUILD_FILES)
    jar cvf   $(JAR) -C $(BUILD_DEST)/ .


## �R���p�C�����s
compile:$(BUILD_FILES)
$(BUILD_FILES):$(BUILD_SRC)
    mkdir -p $(BUILD_DEST)
    javac -d $(BUILD_DEST) $(BUILD_SRC)


## javadoc����
javadoc:$(JAVADOC_FILE)
$(JAVADOC_FILE): $(BUILD_SRC)
    javadoc -d api $(BUILD_SRC)

## �t�@�C���̃N���[���A�b�v
clean:
    rm -fr $(BUILD_DEST) $(JAVADOC_DEST)

�@����Makefile��Ant�̃r���h�t�@�C���ibuild.xml�j�ɏ���������Ǝ��̂悤�ɂȂ�܂��i��قǎ��s����Build.xml�������ȗ������Ă��܂��j�B

���X�g2�@Ant�̃r���h�t�@�C���ibuild.xml�j
<?xml version="1.0" encoding="Windows-31J"?>

<project name="foo" default="jar" basedir=".">


 <!-- �\�[�X�t�@�C���̃f�B���N�g�� -->
  <property name="build.src" value="src"/>

  <!-- Class�t�@�C�����o�͂���f�B���N�g�� -->
  <property name="build.dest" value="classes"/>

  <!-- Javadoc ���o�͂���f�B���N�g�� -->
  <property name="javadoc.dest" value="api"/>

  <!-- �v���W�F�N�g�� -->
  <property name="project" value="foo"/>

  <!-- �o�[�W�����ԍ� -->
  <property name="version" value="1.0"/>

  <!-- �o��jar�t�@�C�� -->
  <property name="buuld.jar" value="${project}-${version}.jar"/>



 <!-- jar�t�@�C���쐬 -->
  <target name="jar" depends="compile">
    <jar
          jarfile="${build.jar}"
          basedir="${build.dest}">
    </jar>
  </target>



 <!-- �R���p�C�����s -->
  <target name="compile">
    <mkdir dir="${build.dest}" />
    <javac srcdir="${build.src}"
           debug="${debug}"
   destdir="${build.dest}"
    />
  </target>



 <!-- Javadoc�쐬 -->
  <target name="javadoc">
    <javadoc
      packagenames="*"
      sourcepath="${build.src}"
      destdir="${javadoc.dest}">
    </javadoc>
  </target>



 <!-- �t�@�C���̃N���[���A�b�v -->
  <target name="clean">
    <delete dir="${build.dest}" />
    <delete file="${build.jar}" />
  </target>


</project>

�@�ł��傫�ȈႢ�Ƃ��āAMakefile�̓R�}���h�̗���ŋL�q����Ă���̂ł����AAnt�̃r���h�t�@�C����XML�ŋL�q����Ă��܂��B��̓I�ɋ@�\���ƂɈႢ�����Ă݂܂��傤�B

���f�t�H���g�̏����̎w��

�@�����ł̃f�t�H���g�̏����Ƃ́A�I�v�V�����̎w����ȗ������Ƃ��AAnt��Make�����̏������s�����A�Ƃ������Ƃ��w���܂��B�r���h�R�}���h�����s�����Ƃ��̃f�t�H���g�̏����́AMake�̏ꍇ�A��ԏ��߂ɋL�q���ꂽ�����ɂȂ�܂����AAnt�ł�project�^�O�Ŏw�肵�܂��B��L�̗�ł́Ajar�t�@�C���쐬���f�t�H���g�̏����ɂ��Ă��܂��BMakefile�t�@�C���ł�jar:$(JAR)�̕������AAnt�̃r���h�t�@�C���ł�<project .. default="jar"�c>�̕������Y�����܂��B

���ϐ��̐ݒ�

�@Ant��Make���r���h�t�@�C���̒��Ŏ��R�ɎQ�Ɖ”\�ȕϐ���錾���邱�Ƃ��ł��܂��Bmake�́AMakefile�̐擪�̃u���b�N�ňȉ��̂悤�ɕϐ��ݒ���s���܂��B

�ϐ���=�l

�@�����āA�ȉ��̂悤�ɕϐ��̎Q�Ƃ��s���܂��B

$(�ϐ���)

�@����ɑ΂��āAAnt�́A�ȉ��̂悤��property�^�O���g���āA�ϐ��iAnt�ł͕ϐ��̂��Ƃ�ʏ�v���p�e�B�ƌĂт܂��j�̐ݒ���s���܂��B

<property name="�ϐ���" value="�l"/>

�@�����āA�ȉ��̂悤�ɕϐ��̎Q�Ƃ��s���܂��B

${�ϐ���}

���R�}���h�̎��s

�@make�ł́A�Ⴆ�Ή��L�̋L�q������Ε�����悤�ɁAmkdir�Ajavac�Ȃǂ̃V�F���R�}���h�𒼐ڌĂяo���ď�����i�߂܂��B

$(BUILD_FILES):$(BUILD_SRC)
  mkdir -p $(BUILD_DEST)
    javac -d $(BUILD_DEST) $(BUILD_SRC)

�@����ɑ΂���Ant�ł́A�O�q�����悤��javac�Ajar�Ajavadoc�ȂǁA���ۂɎ��s����R�}���h�ɑΉ��Â���ꂽ�^�X�N�����s���邱�Ƃŏ�����i�߂Ă����܂��B�^�X�N�́A���̂悤�ɕ\�L���܂��B

<�^�X�N�� ����(����)="�l" �c>
    <����(�v�f)>�l</����(�v�f)>
</�^�X�N��>

�@�����́A�e�^�X�N�ŗL�̒l�����܂����A�Ⴆ�΁Amkdir�Adelete�Acopy�Ȃǂ̃t�@�C��������s���^�X�N�́Adir�i�f�B���N�g�����w�肷��j�Ȃǂ̋��ʈ������w��ł��܂��B�܂��A�����́A�����Ɨv�f��2��ނ��w��ł��܂����A��{�I�ɂ͑����Ɉ�����ݒ肵�܂��B�t�@�C���̏W���A�N���X�p�X�Ȃǂ͈����Ŏw�肷�邱�Ƃ��ł��܂��B�^�X�N�̋�̓I�Ȏg�����ɂ‚��ẮA�ڂ�����q���܂��B

���ˑ��֌W�̋L�q

�@�r���h���s���Ƃ��ɁAjar�t�@�C���̍쐬�̑O�ɂ́A�\�[�X�̃R���p�C�����K�v�Ȃǂ̈ˑ��֌W���������܂����Amake��Ant���ˑ��֌W���L�q���邱�Ƃ��ł��܂��BMakefile�ł́A

�����t�@�C��:���ԃt�@�C��
  �R�}���h2  # ���ԃt�@�C�����琶���t�@�C���𐶐�����R�}���h
  (�R�}���h2')  # �����̃R�}���h�����s�������ꍇ�A���s���ċL�q

���ԃt�@�C��:�\�[�X�t�@�C��
  �R�}���h1  # �\�[�X�t�@�C�����璆�ԃt�@�C���𐶐�����R�}���h
  (�R�}���h2') # �����̃R�}���h�����s�������ꍇ�A���s���ċL�q

�Ƃ����`���ŁA�ˑ��֌W���L�q���܂��Bmake�́g:�h��荶���̃t�@�C���̃^�C���X�^���v�ƉE���̃t�@�C���̃^�C���X�^���v�𒲂ׂāA�����E�̃^�C���X�^���v���V�����ꍇ�A�������́A�����̃t�@�C�������݂��Ȃ��ꍇ�A�R�}���h�����s���܂��B�Ⴆ�΁A

$(JAR):$(BUILD_FILES)
  jar cvf  $(JAR) -C $(BUILD_DEST)/ .

$(BUILD_FILES):$(BUILD_SRC)
  mkdir -p $(BUILD_DEST)
  javac -d $(BUILD_DEST) $(BUILD_SRC) 

�ɒ��ڂ���ƁAsrc/foo1.java,src/pkg/foo2.java ($(BUILD_SRC))�ɑ΂��āAmkdir/javac�����s����܂��B�������ꂽ�N���X�t�@�C��classes/foo1.class classes/pkg/foo2.class ($(BUILD_FILE))�ɑ΂���jar�����s�����foo.jar ($(JAR))����������܂��B

�@�e�X�e�b�v�́A�����̕K�v���Ȃ���΃X�L�b�v����܂��B

���F�gjar:$(JAR)�h�Ƃ����s�́Amake jar�R�}���h��jar�t�@�C���𐶐����邽�߂̉������s���Ȃ��_�~�[�s�ł��B

�@����ɑ΂��āAAnt�́A�^�[�Q�b�g�ɑ΂��Ĉˑ��֌W���L�q���Ē�`���܂��B

<target name="�^�[�Q�b�g1">
  �^�X�N2
</target>

<target name="�^�[�Q�b�g2" depends="�^�[�Q�b�g1">
  �^�X�N1
</target>

�@���̗�́AAnt���^�[�Q�b�g2�����s���悤�Ƃ���ƁA�^�[�Q�b�g1�����s�ς݂��ǂ������ׂāA

�����s�̏ꍇ
  �^�[�Q�b�g1�����s������A�^�[�Q�b�g2�����s

���s�ς݂̏ꍇ
  �^�[�Q�b�g1�����s�����ɁA�^�[�Q�b�g2�����s

�Ƃ�����������܂��B�����Œ��ӂ��K�v�Ȃ̂́Amake�́A�������ꂽ�t�@�C���ƃ\�[�X�̃^�C���X�^���v�𒲂ׂĈˑ��֌W���������܂����A�^�[�Q�b�g�́u���ݎ��s����Ă���Ant�ł��łɏ������ꂽ���ǂ����v�𒲂ׁA�t�@�C���̃^�C���X�^���v�𒲂ׂĂ��܂���B�‚܂�AAnt�����s���邲�ƂɊe�^�[�Q�b�g�͎��s����܂��B���ۂɃt�@�C���̃^�C���X�^���v�𒲂ׂăR�}���h�����s���邩�ǂ����́A�^�X�N�����ʂ��܂��B

Ant�̗��_

�@���āA�����܂ł̘b��ǂނƁA�ꌩ���āA�u�ł��邱�Ƃ�Makefile�Ɠ��������AXML�ŋL�q���Ȃ���΂Ȃ�Ȃ����Aant�̕����ʓ|�Ȃ̂ł́H�v�Ǝv����������邩������܂���B�����܂ł̓��e�𐮗�����ƁAAnt���g���Ǝ��̂悤�ȃ����b�g������܂��B

�i1�j�t�@�C���̈ˑ��֌W���L�q����K�v���Ȃ��Ȃ�
�@�^�X�N���^����ꂽ�e�\�[�X�Ɛ��������t�@�C���̃^�C���X�^���v�𒲂ׂāA�������K�v�ȃ\�[�X�������������Ă���܂��BMakefile�̂悤��1��1�ƒt�@�C�����w�肵�Ĉˑ��֌W���L�q����K�v�͂���܂���B

�i2�j�����ΏۂƂȂ�t�@�C�����•ʂɋL�q����K�v�͂Ȃ�
�@Makefile�ł́ASRC=foo1.java foo2.java�Ƃ����悤�Ɍ•ʂɃt�@�C�����w�肷��K�v������܂����B����ɑ΂���Ant�ł́Asrcdir="..."�Ƃ����悤�Ƀf�B���N�g�����w�肷��΁A���̃f�B���N�g���ȉ��̂��ׂẴt�@�C���������Ώۂɂ��Ă���܂��BMakefile�ł�find�𗘗p����΁A����f�B���N�g���ȉ���*.java�Ƀ}�b�`����t�@�C���Ȃǂ��O���[�v�����邱�Ƃ��ł��܂����A����ɔ�ׂĂ���Ԃ�������܂���B

�@�������A��L�̃����b�g�́AJava�̃A�v���P�[�V�����̃r���h���Ɏ󂯂��鉶�b�ŁAC����̊J���Ȃǂł́Atask����R�}���h�Ăяo�����s�������ɂȂ��Ă��܂��AAnt�̉��b�͎󂯂��Ȃ��̂Œ��ӂ��Ă��������B

�R�}���h�����s����u�^�X�N�v�̎g����

�@���ɁAAnt�̗v�ł���^�X�N�̒��ŁA���ɏd�v�Ǝv����javac�Ajar�Ajavadoc�Awar�Aecho�ɂ‚��ďЉ�܂��B�����ɂ‚��ẮA�悭�g������̂𔲐����Čf�ڂ��Ă��܂��B���ڍׂ��m�肽���ꍇ��Jakarta�v���W�F�N�g���^�X�N�ꗗ���Q�Ƃ��Ă��������B���{��ɂ���񂪗~�����ꍇ�́AJa-Jakarta�ɂ����{������������������B

��javac�^�X�N

�@javac�͂��̖��̂Ƃ���Ajavac�R�}���h���^�X�N�ɂ������̂ŁA�\1�Ɏ��������������܂��B

�\1�@javac�^�X�N�̈���
���� �@�\ �K�{���H�i�f�t�H���g�l�j
srcdir java�t�@�C���̏ꏊ YES
destdir �N���X�t�@�C�����o�͂���ꏊ YES
classpathref ���炩����path�Őݒ肵���p�X���w�� NO
encoding Java�t�@�C���̃G���R�[�f�B���O NO�i�V�X�e���̃G���R�[�f�B���O�j
excludes �R���p�C���Ώۂ��珜�������t�@�C���̃��X�g NO
debug �f�o�b�O�p�ɃR���p�C�����邩�ǂ������f����t���O NO�ifalse�j
��true�^false���w�肷��

�@�N���X�p�X��jar�t�@�C���������‚��܂߂����ꍇ�́Apath�^�X�N�Ƒg�ݍ��킹�ė��p����ƕ֗��ł��B�Ⴆ�΁Alib�f�B���N�g���̉���jar�t�@�C���ɂ��ׂăN���X�p�X��ʂ��A�T�[�u���b�g�N���X�̂��߂�Tomcat��������WebLogic��jar�t�@�C���ɃN���X�p�X��ʂ��ăR���p�C�����s���ɂ́A���̂悤�ɋL�q���܂��B

<!-- javac�ŗ��p����N���X�p�X�̐ݒ� -->
<path id="myclasspath">
  <!-- lib�f�B���N�g���ȉ���include�Ŏw�肵���t�@�C����myclasspath
          �Ɋ܂߂�B--> 
  <fileset dir="lib">
    <!-- �S�Ă�jar�t�@�C�����N���X�p�X�Ɋ܂߂� -->
    <include name="*.jar"/>
  </fileset>

  <!-- �e�A�v���P�[�V�����T�[�o�ŗL��
       jar��myclasspath�Ɋ܂߂�
       (�����jar�t�@�C�����w�肷��ꍇ�́Apathelement�𗘗p)-->
  <pathelement path="${catalina.home}/commons/lib/servlet.jar"/>
  <pathelement path="${weblogic.home}/server/lib/weblogic.jar"/>
</path>
..
<!-- �ݒ肵��myclasspath�𗘗p���R���p�C�� -->
<javac  srcdir="src/java"
        excludes="**/bak/*"
        destdir="build/classes"
        encoding="Windows-31J"
        classpathref="https://atmarkit.itmedia.co.jp/ait/articles/0301/16/myclasspath" />

�@path�̐ݒ�́Ajavac�����s����^�[�Q�b�g���Ɋ܂߂邱�Ƃ��ł��܂����A�����ݒ�Ƃ����Ӗ��ŁA�v���p�e�B���`������ɓ����Ƃ悢�ł��傤�B

��jar�^�X�N

�@jar�^�X�N�́Ajar�t�@�C�����쐬����^�X�N�ŁA�\2�̈����������܂��B

�\2�@jar�^�X�N�̈���
���� �@�\ �K�{���H
basedir jar�Ɋ܂߂�t�@�C���̃��[�g�f�B���N�g�� YES
destfile jar�t�@�C���� YES
manifest �}�j�t�F�X�g�t�@�C�� NO

�@�Ⴆ�΁A�}�j�t�F�X�g�t�@�C����manifest���w�肵��build/classes�ȉ��̃t�@�C����jar�Ɉ��k�������ꍇ�A���̂悤�ɋL�q���܂��B

<jar destfile="foo.jar"
basedir="build/classes"
manifest="manifest"/>

��war�^�X�N

�@war�^�X�N�́AWeb�A�v���P�[�V������WAR�A�[�J�C�u���쐬���܂��Bwar�t�@�C�����́A���Ƃ���jar�`���̃t�@�C���ł��邱�Ƃ�����Ajar�t�@�C���Ɠ����ł����Awar�p�ɂ����‚��������lj�����Ă��܂��B�����ł́Ajar�ɒlj����ꂽ�������\3�ɏЉ�܂��i���́Awar�^�X�N�����s����N���X���g��jar�^�X�N�̃N���X���p�����Ă��܂��j�B

�\3�@war�^�X�N�̈���
���� �@�\ �K�{���H
webxml Web�A�v���P�[�V�����̔z���L�q�qMETA-INF/web.xml�t�@�C�����w�� YES��
lib WEB-INF/lib�f�B���N�g���Ɋ܂߂�jar�t�@�C���Bwar�^�X�N�Ƀl�X�g�����^�O�Ƃ��Ċ܂߂� NO
classes WEB-INF/classes�f�B���N�g���Ɋ܂߂�N���X�t�@�C�����w��Bwar�^�X�N�Ƀl�X�g�����^�O�Ƃ��Ċ܂߂� NO

���Fupdate�I�v�V�����i�����̃t�@�C�����㏑������j��true�ɐݒ肵�Ă���΁A�ݒ肷��K�v�͂���܂���

�@Web�A�v���P�[�V�����̔z���L�q�q��myweb.xml�A�T�[�u���b�g�Ȃǂ̃N���X�t�@�C����classes�f�B���N�g���ȉ��̃t�@�C���Ɏw�肵�Alib�f�B���N�g���ȉ���jar�t�@�C�����܂߂�T���v���͎��̂悤�ɂȂ�܂��B

<war dest="sample.war"
     webxml="myweb.xml">
    <classes dir="classes" />
    <lib dir="lib/*.jar" />
</war>

�@classes��lib�́A�l�X�g�����^�O�Ɋ܂߂�K�v������_�ɒ��ӂ��Ă��������B

��javadoc�^�X�N

�@javadoc�𐶐�����^�X�N�ŁA�\4�̈��������܂��B

�\4�@javadoc�^�X�N�̈���
���� �@�\ �K�{���H�i�f�t�H���g�l�j
packagenames javadoc�𐶐��������p�b�P�[�W�� YES
lib WEB-INF/lib�f�B���N�g���Ɋ܂߂�jar�t�@�C���Bwar�^�X�N�Ƀl�X�g�����^�O�Ƃ��Ċ܂߂� NO
classes WEB-INF/classes�f�B���N�g���Ɋ܂߂�N���X�t�@�C�����w��Bwar�^�X�N�Ƀl�X�g�����^�O�Ƃ��Ċ܂߂� NO
sourcepath java�t�@�C���̏ꏊ YES
destdir �o�͂���f�B���N�g�� YES
Windowtitle �u���E�U�̃o�[�ɕ\������^�C�g�����w�� NO
Doctitle �T�v�ɕ\������^�C�g�����w�� NO
encoding Java�t�@�C���̃G���R�[�f�B���O NO�i�V�X�e���̃G���R�[�f�B���O�j
docencoding �o�͂���Javadoc�̃G���R�[�f�B���O NO�i�V�X�e���̃G���R�[�f�B���O�j
excludes �R���p�C���Ώۂ��珜�������t�@�C���̃��X�g NO
bottom HTML�t�@�C���̈�ԉ��ɑ}������e�L�X�g���w�� NO�i���쌠���Ȃǂ�����̂ɗ��p�j
Author �R�[�h����@author�^�O�Ŏw�肵���J���Җ����܂߂� NO�ifalse�j
�itrue�^false���w��j

�@javadoc�́A���̂悤�Ɏ��s���܂��B

<javadoc sourcepath="src/java
    excludes="**/bak/*"
    encoding="Windows-31J"
    packagenames="*"
    Windowtitle="my application"
    doctitle="my application"
    docencoding="iso-2022-jp"
    bottom="<center>&copy Arege Building</center>"
    Author="true"
    destdir="api"/>

��echo�^�X�N

�@�r���h���Ƀ��b�Z�[�W��\�����邱�Ƃ��ł��܂��Becho�́A���̂悤�Ɏg���܂��B

<echo message="This is echo message" />

�@�r���h�t�@�C�����f�o�b�O����ۂɃv���p�e�B�̒l����s�o�߂�\��������A�r���h���@�̕\���Ȃǂɗ��p����ƕ֗��ł��B

���{�ꗘ�p���̒��ӓ_

Ant����{��‹��ŗ��p����ۂɂ����‚����ӂ��ׂ��_������̂ŁA�����q�ׂĂ����܂��B

���r���h�t�@�C���̃G���R�[�f�B���O���w�肷�邱��

�@�r���h�t�@�C����xml�錾���ŁA�r���h�t�@�C���̃G���R�[�f�B���O���A

<?xml version="1.0" encoding="Windows-31J"?>

�̂悤��encoding�����Ŏw�肷��K�v������܂��B���̗�ł́AWindows-31J�iMS932�j���w�肵�Ă��܂����AUNIX�Ȃǂ����g���̏ꍇ�́Aeuc-jp�Ȃǂɕς��Ă��������B�����R�[�h���w�肳��Ă��Ȃ��ꍇ�A�r���h�t�@�C���ǂݍ��ݎ��ɃG���[���������܂��B���Ȃ݂Ƀf�t�H���g�G���R�[�f�B���O��UTF-8�ł��̂ŁAUTF-8�Ńr���h�t�@�C�����L�q����΁Aencoding�������w�肷��K�v�͂���܂���B

��javac�Ajavadoc�^�X�N�̃G���R�[�f�B���O���w�肷�邱��

�@�\�[�X�R�[�h�ɓ��{�ꂪ�܂܂��ꍇ�́Ajavac�^�X�N�̒��Ŏ��̂悤�ɕK���\�[�X�R�[�h�̃G���R�[�f�B���O���w�肷��悤�ɂ��Ă��������B

<javac encoding="Windows-31J"
    �c

�@���̋L�q���s��Ȃ��Ă��A�V�X�e���f�t�H���g�̃G���R�[�f�B���O�Ń\�[�X�R�[�h���L�q���Ă���Ζ��Ȃ��R���p�C���ł��܂����AWindows��ō쐬�����R�[�h��Linux��ŃR���p�C������ȂǁA�f�t�H���g�̃L�����N�^�Z�b�g���قȂ�‹���Ant�����s����ƁA�������R���p�C���ł��Ȃ��Ȃ�܂��Bencoding�͏�Ɏw�肷��悤�ɂ��Ă����܂��傤�Bjavadoc�^�X�N�̏ꍇ�́A���̂悤�Ƀ\�[�X�̃G���R�[�f�B���O�A�o��HTML�̃G���R�[�f�B���O�A���P�[�����w�肷��悤�ɂ��܂��i���P�[�����w�肵�Ȃ��Ɖp��‹���javadoc�𗘗p����ƁAjavadoc����������HTML���p��ɂȂ�̂Œ��ӂ��Ă��������j�B

<javadoc
    encoding="Windows-31J"
    docencoding="iso-2022-jp"
    locale="ja"
    �c

�@���̗�ł́A�\�[�X��Windows-31J�Ajavadoc�ŏo�͂���HTML�t�@�C����iso-2022-jp�ƂȂ�܂��B�܂��A���̂ق��̃^�X�N�ł��A�K�X�G���R�[�f�B���O���w�肷��Ȃ��‚��Ă����������悢�ł��傤�B

COLUMN�@�t�@�C���Z�b�g�ƃp�^�[��

Ant�𗘗p����ۂɊo���Ă����ƕ֗��ȋ@�\�Ƀt�@�C���Z�b�g�ƃp�^�[��������܂��B�t�@�C���Z�b�g�͂��̖��̂Ƃ���u�t�@�C���̏W�܂�v���L�q�������̂ł��Bfileset�́Ajava�̃\�[�X�Aclass�t�@�C���ȂǁA�ǂ̂悤�ȃt�@�C���ł��������Ƃ��ł��܂����A���ɃN���X�p�X��ݒ肷��Ƃ�jar�t�@�C���̏W�����`����̂ɕ֗��ł��B�Ⴆ�΁A���̂悤��lib�f�B���N�g���̉��ɃR���p�C�����ɕK�v��jar�t�@�C��������Ƃ��܂��B

myproject/
lib/
commons-logging.jar
oro.jar
servlet.jar
ext/j2ee.jar

���̂Ƃ��A

<!-- �N���X�p�X�̐ݒ� -->
<path id="clspath">
<!-- lib�f�B���N�g���ȉ���include�Ŏw�肵���t�@�C����clspath
�Ɋ܂߂�B-->
<fileset dir="lib">
<!-- ���ׂĂ�jar�t�@�C�����N���X�p�X�Ɋ܂߂� -->
<include name="*.jar"/>
</fileset>
</path>

�c

<javac src="...">
<!--�N���X�p�X��clspath��lj� -->
<classpath refid="clspath" />
</javac>

�Ƃ���΁Alib�ȉ��̐ԐF��jar�t�@�C���icommons-logging.jar�Aoro.jar�Aservlet.jar�j�ɑ΂��āA�ȒP�ɃN���X�p�X�ɒʂ����Ƃ��ł��܂��BAnt�ł́A�p�^�[���ƌĂ΂�鐳�K�\�����ȒP�ɂ������̂�fileset�^�O�̒��ŗ��p���邱�Ƃ��ł��A*�́A0�ˆȏ�̕�����\���p�^�[���Ȃ̂ŁA*.jar�ɂ��J�����g�f�B���N�g���i�����ł�lib�j���̊g���q��jar�ł���t�@�C�����ׂĂ��w��ł��邱�ƂɂȂ�܂��B�܂��A

<fileset dir="lib">
<include name="**/*.jar">
</fileset>


�ƁA**��p����ƁA�J�����g�f�B���N�g���ȉ��̊g���q��jar�ł���t�@�C�����ċA�I�ɒT���o���A���ׂĂ�jar���w�肷�邱�Ƃ��ł��܂��B��L�̗�ł́Aj2ee.jar���܂񂾐ԐF�A�F���ׂĂ�jar�t�@�C�����܂߂邱�Ƃ��ł��܂��B


�@����́A���p�҂Ƃ������ƂŁAAnt���g���āA1�‚�Java�R�[�h����ȒP��EJB���쐬������@�����Љ�܂��B

�M�҃v���t�B�[��

���{���j�i�������� �������j

���R��w�H�w�����ȏC����A�i���jNTT�f�[�^�ɓ��ЁB�����F���\�t�g�E�F�A�̌����J�����o�āAWeb�T�[�r�X�֘A�̌����J���Ɍg���B�l�ł́ADebian GNU�^Linux�̗D�ꂽ�����e�i���X���Ƃق��̃f�B�X�g���r���[�V���������|����p�b�P�[�W���Ɉ�����Debian���g���n�߂��̂����������ɁADebian�v���W�F�N�g�̊J���҂ƂȂ�BDebian�v���W�F�N�g��Stefan Gybas�AOla Lundqvist��ƂƂ��ɁAJava�T�|�[�g�̋������s���BJakarta�Ɋւ��ẮATomcat�^JMeter�^ORO�^Lucene�Ȃǂ̍��ۉ��^���{��ւ̃��[�J���C�Y�AAnt��Kaffe VM�Ή��Ȃǂ��s���Ă���B�wJakarta�v���W�F�N�g�O��U���x�i�Z�p�]�_�Ёj�A�wWEB+DB PRESS�x�i�Z�p�]�_�Ёj�A�wJava World�x�iIDG�W���p���j�A�wJAVA Developer�x�i�\�t�g�o���N�p�u���b�V���O�j�ȂǂŎ��M�������s���Ă���B

Ja-Jakarta Project�ɂ‚���

Ja-Jakarta�v���W�F�N�g�ł́AJakarta�v���W�F�N�g�̃h�L�������g�̘a���v���_�N�g�̍��ۉ��^���{�ꉻ�Ȃǂ��s���Ă���B���݁A�v���W�F�N�g�̃����o�[���W���BJa-Jakarta�v���W�F�N�g�̊����ɎQ�����悤�Ƃ������́A�uJa-Jakarta�v���W�F�N�g�ւ̎Q�����@�v�ihttp://www.ingrid.org/jajakarta/site/getinvolved.html�j���Q�ƁB



Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B