>> Delete No. 2225 article
No. 한글 자바 1.4.0 설치.

등록 2002-02-15 17:50:00     조회 5
이름 오승영    

		역시 초보자의 비애군요...
그냥 아는데까지 설명해보겠습니다.
우선은 제 테스트환경부터;
 레드햇7.2입니다.
 uname -r
 2.4.9-21SGI_XFS_1.0.2custom
 rpm -qa | grep netscape
 netscape-navigator-4.78-2
netscape-common-4.78-2
netscape-communicator-4.78-2
 rpm -qa | grep 0.9.8-1.ximian.2
 libnspr4-0.9.8-1.ximian.2
mozilla-psm-0.9.8-1.ximian.2
mozilla-xmlterm-0.9.8-1.ximian.2
mozilla-0.9.8-1.ximian.2
mozilla-chat-0.9.8-1.ximian.2
mozilla-mail-0.9.8-1.ximian.2
libnss-devel-0.9.8-1.ximian.2
libnspr-devel-0.9.8-1.ximian.2
mozilla-devel-0.9.8-1.ximian.2
libnss3-0.9.8-1.ximian.2
 그리고 다음 패키지가 있는지 확인하고 없으면 미리 설치합니다.
  compat-libstdc++
 이제 자바1.4.0을 받습니다. 몽땅 깔아보자는 의미에서;
 http://java.sun.com/j2se/1.4/download.html  에서 리눅스 RPM 쉘스크립트 (SDK) 또는 리눅스 그누집 타
르 쉘스크립트 (SDK) + J2SE 1.4 문서 + JCE 규정 파일 을 받습니다.
파일을 3개 받았습니다. 제 경우는 RPM으로 받았습니다.
 j2sdk-1_4_0-fcs-linux-i386.rpm.bin
j2sdk-1_4_0-doc.zip
jce_policy-1_4_0.zip
 그누집 타르 던지 RPM이던지 bin으로 파일명이 끝나는데;
 chmod a+x j2sdk-1_4_0-fcs-linux-i386.rpm.bin
./j2sdk-1_4_0-fcs-linux-i386.rpm.bin
 하면 라이센스 동의하겠냐고 묻고 yes하면 압축이 풀려서 RPM 또는 타르 형태의 파일이 생
깁니다. RPM 파일을 깔면;
 rpm -ivh j2sdk-1_4_0-fcs-linux-i386.rpm
 /usr/java/j2sdk1.4.0 디렉토리로 전부 깔립니다.
타르의 경우야 어디던지 풀어놓면 되겠죠.
이 팁에서는 /usr/java/j2sdk1.4.0 디렉토리를,
j2sdk가 깔린 디렉토리라고 가정하겠습니다.
(이거 깔기전에 kaffe 라고 배포판에 보통 포함되어있는 jdk를 제거하시길 권합니다.)
 *주의사항: 2.2커널 사용자들은 커널이 CONFIG_IP_TRANSPARENT_PROXY라는 옵션으로 컴파일되었는지
 확인할 필요가 있습니다. 그 옵션이 포함되어있을 경우 루트로 자바를 실행하면 제대로 
작동하지 않을 수도 있답니다. Sun에서 제시하는 해결책은 그럴 경우, 루트로 자바를 쓰지 
않던지 그 옵션없이 커널을 다시 컴파일하는 것입니다. 2.4커널 사용자는 해당되지 않습니
다.  이제 /usr/java/j2sdk1.4.0 디렉토리에서 j2sdk-1_4_0-doc.zip 파일의 압축을 풀면 문서도 설치됩
니다.  다음으로 jce_policy-1_4_0.zip 의 압축을 풀고 그안의 파일중;  US_export_policy.jar local_policy.
jar  파일들을 /usr/java/j2sdk1.4.0/jre/lib/security 디렉토리의 같은 이름의 파일들 위에 덥어씁니
다.  이 파일들은 원래 J2sdk에 포함된 제한된 암호작성 방식의 제한을 풀어버립
니다. (이 무제한 방식을 쓸 수 없는 곳은 몇몇 적대국(?)정도로 알고 있습니다.)
 기본 설치는 끝났습니다.
 자바개발에 사용되기 쉽게 실행파일 경로를 지정합니다.
제가 쓰는 방법은 보통 .bash_profile에 보면 $HOME/bin 이라는 잘 사용되지 않는 경로를 이용하
는것입니다.  ln -s /usr/java/j2sdk1.4.0/bin /root/bin
ln -s /usr/java/j2sdk1.4.0/bin /etc/skel/bin
 추가로 자신이 쓰는 일반 사용자 홈디렉토리의 bin으로도 링크시킵니다.
지금;
 java -version
 java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
 라고 나오면 정상입니다.
다음은 한글이 되게 해보겠습니다.
제가 이번 자바 버젼에 맞게 짜집기한 font.properties.ko 파일을 하나 만듭니다.
 내용은;
 #
# @(#)font.properties.ko.linux  1.6 01/07/09
#
# Copyright 1999, 2001 by Sun Microsystems, Inc.,
# 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
# All rights reserved.
#
# This software is the confidential and proprietary information
# of Sun Microsystems, Inc. ("Confidential Information").  You
# shall not disclose such Confidential Information and shall use
# it only in accordance with the terms of the license agreement
# you entered into with Sun.
#
 #
# AWT Font default Properties for Korean Redhat Linux 7.1 and higher
#
# Serif font definition
#
serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-
ascii-0
 serif.bold.0=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 serif.bolditalic.0=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # SansSerif font definition
#
sansserif.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 sansserif.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 sansserif.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 sansserif.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # Monospaced font definition
#
monospaced.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 monospaced.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 monospaced.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 monospaced.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # Dialog font definition
#
dialog.0=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialog.italic.0=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialog.bold.0=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialog.bolditalic.0=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # DialogInput font definition
#
dialoginput.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialoginput.italic.0=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialoginput.bold.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 dialoginput.bolditalic.0=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.1=-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # Default font definition
#
default.char=274f
 # name aliases
#
alias.timesroman=serif
alias.helvetica=sansserif
alias.courier=monospaced
 # for backward compatibility
#zapfdingbats.0=-urw-itc zapfdingbats-medium-r-normal--*-%d-*-*-p-*-sun-fontspecific
 # Static FontCharset info.
#
# This information is used by the font which is not indexed by Unicode.
# Such fonts can use their own subclass of FontCharset.
#
# This information can be overriden by describing more specific style.
# For example
#
#  fontcharset.serif.plain.3=SpecialSymbols
#  means serif.plain.3 font's index can be retrieved with the convert() method
#  of instance of SpecialSymbols and what kind of characters serif.plain.3 font
#  has can be judged with the isCovered() method of instance of SpecialSymbols.
#
fontcharset.serif.0=sun.io.CharToByteISO8859_1
fontcharset.serif.1=sun.awt.motif.CharToByteASCII
 fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.awt.motif.CharToByteASCII
 fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.awt.motif.CharToByteASCII
 fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.awt.motif.CharToByteASCII
 fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.awt.motif.CharToByteASCII
 # exclusion info.
#
# This information describe exclusion ranges for each fonts.
#
# 'exclusion.serif.plain.0' overrides 'exclusion.serif.0', and
# 'exclusion.serif.0' overrides exclusion.0, and so on.
#
 # XFontSet string
# X11 only properties
#
 # Serif font definition
#
fontset.serif.plain=
-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.serif.italic=
-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.serif.bold=
-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.serif.bolditalic=
-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # SansSerif font definition
#
 fontset.sansserif.plain=
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.sansserif.italic=
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.sansserif.bold=
-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.sansserif.bolditalic=
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # Monospaced font definition
#
fontset.monospaced.plain=
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.monospaced.italic=
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.monospaced.bold=
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.monospaced.bolditalic=
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # Dialog font definition
#
fontset.dialog.italic=
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialog.bold=
-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialog.bolditalic=
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialog.plain=
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 # DialogInput font definition
#
fontset.dialoginput.italic=
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialoginput.bold=
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialoginput.bolditalic=
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 fontset.dialoginput.plain=
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 #
fontset.default=
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,
-misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
#
 위의 내용을 /usr/java/j2sdk1.4.0/jre/lib/font.properties.ko 라는 파일로 저장합니다.
백묵 트루타입 글꼴중 gulim.ttf파일을 /usr/java/j2sdk1.4.0/jre/lib/fonts 디렉토리에 복사하던지 링
크를 걸어줍니다. 그리고 /usr/java/j2sdk1.4.0/jre/lib/fonts/fonts.dir파일을 약간 편집합니다.
그 파일의 맨 첫부분을 72 에서 73 으로 고치고, 맨 마지막에 다음을 추가합니다.
 gulim.ttf -misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
 테스트해봅니다;
 ControlPanel
 해서 자바 제어판이 한글로 잘보이면 성공입니다.
 이번에는 웹브라우저 지원을 하도록 설정하겠습니다.
 넷스케이프 경우는;
 ln -s /usr/java/j2sdk1.4.0/jre/plugin/i386/ns4/javaplugin140.so
$HOME/.netscape/plugins/javaplugin140.so
 모질라의 경우는;
 ln -s /usr/java/j2sdk1.4.0/jre/plugin/i386/ns610/libjavaplugin_oji140.so
/usr/lib/mozilla/plugins/libjavaplugin_oji140.so
 *주의사항: 모질라의 경우 2개의 자바플러그인이 준비되어있습니다.
하나는 넷스케이프6.0용, 또 하나는 6.1.x용. 최근 모질라를 사용한다면 위의 링크처럼 6.1용
이 더 적당할것같습니다.  이제 자바웹스타트를 설치해봅니다.
 자바웹스타트란, 자바네트워크런칭프로토콜 (JNLP)이라는 것을 사용하는데 자바 어플리케
이션이나 애플릿을 인터넷에서 직접 실행가능하도록합니다. (그 이상은 저도 모릅니다. 초
보의 비애... 아까 얘기했죠?)  넷스케이프의 경우;
 /usr/java/j2sdk1.4.0/jre/javaws-1_0_1_02-linux-int.zip
 파일을 자신의 일반계정으로 복사한후 압축을 풉니다. 그리고;
 ./install.sh
 하면 라이센스 동의하겠냐고 묻고 yes하면, 자바 홈디렉토리를 묻는데,
이 팁의 예에서는;
 /usr/java/j2sdk1.4.0
 라고 하면 현재 자신의 홈디렉토리에 javaws라는 폴더가 생성되고, .mailcap과 .mime.types에 적
당한 설정이 추가됩니다.  모질라의 경우;
 넷스케이프의 경우에서의 자바웹스타트 설치후에 추가로 모질라 옵션에서 설정하면됩니
다. 메뉴의 Edit->Preferences->Navigator->Helper Applications 섹션에서;
 Description of type: Java Web Start
File extension: jnlp
MIME type: application/x-java-jnlp-file
Application to use: 여기는 위에서 만들어진 javaws디렉토리의 javaws라는 실행파일로 지정합니다.
  <img SRC="http://linux.nameip.net:8081/~so1713/java2.png">
  음... 1.4.0의 성능이나 기능이 우수한지 이전 버젼과의 호환성이 좋은지는 저도 앞으로 계
속 써봐야 알거같습니다. 자바 공부하는 분들중에 제 팁에 문제가 있다고 보이면 답글주시
기 바랍니다.  --
JabberID: so1713 at myjabber.net
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved