Tagged: java

Mac 에서 JAVA_HOME 찾기

참조: http://stackoverflow.com/questions/6588390/where-is-java-home-on-osx-sierra-10-12-el-captain-10-11-yosemite-10-10

Mac 에는 여러버전의 Java 가 설치되어 있습니다. 그런데, 가끔씩 JAVA_HOME 이 어디인지를 알고 싶을때가 있습니다. 그럴때 다음과 같이 하면 알수 있습니다.

 

 

WebLogic 10.3.6 설치하기

이 문서는 WebLogic 10.3.6 설치에 관한 문서 입니다.

이 시점에서 WebLogic 10.3.6 는 아주 오래된 버전이다. JDK 1.6 을 기반으로 하고 JEE 도 오래된 버전을 지원한다. 그런데도 간혹 프로젝트를 하다보면 이 버전을 사용하는 곳도 심심치 않아 경악할 때가 있다.

WebLogic 을 버전 업그레이드를 한다고 하려면 어짜피 오래된 버전에 관해서 조금 알아 둘 필요가 있고 WebLogic 의 기본 구성의 경우에는 버전에 크게 상관이 없는 경우도 있어 나름대로 의미가 있다.

설치

WebLogic 10.3.6 버전은 Oracle 홈페이지에서 다운로드 받을 수 있다.정확하게 말하면 WebLogic 10.3.6 버전중에 “Zip distribution with Oracle WebLogic Server only and intended for WebLogic Server” 에 대한 것이다.

Oracle WebLogic Server only
Oracle WebLogic Server only

위와 같이 파일을 다운로드 받습니다. 그리고 다음과 같이 압축을 해제해 줍니다.

그리고 다음과 같이 MW_HOME 환경변수를 세팅해줍니다.

그리고 다음과 같이 configure.sh 파일을 Bash 쉘에 문법에 맞게 고쳐줍니다.

그리고 이제 configure.sh 를 실행해 줍니다.

여기서 한가지 중요한 것이 있는데, commEnv.sh 를 살짝 수정해줘야 합니다. 이걸 수정하지 않으면 64bit 시스템의 라이브러리를 환경변수로 세팅하지 못합니다.

 

도메인 생성

도메인은 WebLogic 에서 서버를 묶어주는 하나의 단위라고 볼 수 있습니다. 서버의 묶이라고 할수도 있고 서비스를 위한 하나의 큰 아키텍쳐라고 볼 수도 있습니다.

이 도메인은 별도의 다른 일반계정에서 디렉토리를 생성해서 생성할 수 있습니다. 여기서는 다음과 같은 위치에 도메인을 생성할 것입니다.

그리고 앞에서 configure.sh 를 실행해 생성된 환경설정을 세팅하기위해서 다음과 같이 실행해 줍니다.

그리고 다음과 같이 도메인 생성을 위한 명령어를 다음과 같이 실행해 줍니다.

 

실패

이렇게 설치를 시도했지만 안됨. 되다가도 아무런 반응이 없고 config.xml 파일이 생성되지 않고 시작/중지 스크립트도 만들어지지 않음.

이 방법으로는 안될듯.. 최소 용량으로 어떻게 돌려보나 했는데 문제가 있어보임.

 

Java 설치

이 글은 Java 를 리눅스에 설치하는 법을 다룹니다.  Java 는 JDK, JRE가 존재하는데 WAS 서버 운영을 위해서는 JDK를 설치하는게 여러모로 좋습니다.

다운로드

다운로드는 Oracle 홈페이지의 Java 페이지에서 받을 수 있습니다. 보시면 다양한 패키지를 제공하는데, 저는 64bit 리눅스 tar.gz 파일을 다운로드 받았습니다.

설치

tar.gz 파일을 다운로드 받았다면 설치는 압축을 해제하는 것으로 사실상 끝이 납니다.

설정하기

자바 설치가 끝났다면 이를 시스템이 인식할 수 있도록 설정해줍니다. 설정은 자바 홈 디렉토리, 패스, 클래스패스등을 입니다.

이를 매번 입력하기 보다는 /etc/profile 맨 아래에 적어주면 부팅할때마다 자동적으로 시스템 전체에 적용 됩니다.

 

Apache Tomcat JNDI 설정

Apache Tomcat 도 JNDI 설정을 할 수 있다. 특히나 데이터베이스 연결을 위해서 JNDI 설정을 사용할 수 있다. JNDI 를 사용하면 Web Application 내에서 데이터베이스 연결을 할 필요가 없이 네이밍(Naming) 을 호출함으로써 간단히 해결된다.

이 문서에서는 MySQL 을 위한 Apache Tomcat JNDI 설정 에 대한 것이다.

MySQL Connector/J 설치

JNDI 를 이용해서 MySQL 연결을 설정하기 위해서는 MySQL Connector/J 를 먼저 설치해줘야 한다. 이것은 MySQL 홈페이지에서 다운로드 가능한데 파일이 jar 확장자를 가진 하나의 파일이 필요하다. 이 파일을 Apache Tomcat 라이브러리 디렉토리에 복사해주면 끝난다.

Apache Tomcat JNDI 설정

MySQL Connector/J 를 설치했다면, 이제 Apache Tomcat JDNDI 설정을 해야 한다. 이는 Apache Tomcat 의 conf 디렉토리에 context.xml 파일을 다음과 같이 설정 한다. 이 설정을 위해서는 MySQL 연결 정보를 알고 있어야 한다.

이렇게 해주고 Web Application 에 web.xml 파일을 설정이 필요하다.

web.xml 설정

Java Web Application 에서는 web.xml 파일이 존재한다. 여기에 JNDI 을 인식시키기 위해서 다음과 같이 설정 해줘야 한다.

Spring Context 설정

Spring 을 사용한다면 다음과 같이 JNDI 를 호출 할 수 있다.

여기서 주의해야할 것은 jndiName 이 ‘comp/env/’ 를 덧붙인다는데 있다. 앞에 설정을 보면 ‘jdbc/MySQLDS’ 로만 설정 된되지만 Spring 에선 ‘comp/env/’ 를 앞에서 붙여주는 것이 다르다.

 

Spring MVC hello world Example in STS

spring pivotal이 글은 STS(혹은 Eclipse) 를 사용해서 Hello World 를 만드는 법에 대한 것이다.  Eclipse, STS 를 설치했다면 자체적으로 간단한 샘플 프로젝트를 제공 한다. 아무런 설정도 필요없고 간단하게 패키지명만 입력해주면 샘플 프로젝트가 제공되고 브라우저를 통해서 확인할 수 있다.

Eclipse 에는 Spring IDE 플러그인이 설치된 것으로 가정한다.

Spring Legacy Project

STS나 Eclipse 를 설치했다면 Spring Legacy Project 를 제공한다. File 메뉴 -> New -> Other.. 를 클릭하면 나오는 팝업창에서 ‘Spring’ 폴더를 클릭하면 다음과 같은 화면에 ‘Spring Legacy Project’ 가 보입니다.

Spring Legacy Project 생성 팝업
Spring Legacy Project 생성 팝업

이제 ‘Next’ 를 누르면 다음과 같은 화면이 나온다.

Spring 템플릿. 그런데 MVC Project 가 없다.
Spring 템플릿. 그런데 MVC Project 가 없다.

하지만 위 화면과 같이 나올 수도 있다. 원래는 MVC Project 가 나와야 하는데, 보이지 않는다. 그럴때는 위 화면에 ‘Configure templates…’ 를 클릭한다.

Template Projects 수정
Template Projects 수정

위 화면과 같이 두가지를 순차적으로 삭제 해준다. 위와같이 하면 이전화면이 다음과 같이 나온다. 삭제하고 난후에도 이전화면에서 ‘Spring MVC Project’ 가 나타나지 않으면 Eclipse 를 재시작해준다.

Spring MVC Project 생성
Spring MVC Project 생성

위 화면과 같이 Project name 에는 ‘HelloWorld’ 를 적어주고 아래 Template 은 ‘Spring MVC Project’ 를 선택하고 ‘Next’ 를 해준다.

패키지명 작성
패키지명 작성

위와같이 패키지명을 입력하고 난 후에 Finish 를 누르면 Hello World 프로젝트가 작성된다.

Spring MVC Project 로 작성된 Hello World
Spring MVC Project 로 작성된 Hello World

이를 실행시키면 Hello World 를 브라우져에서 확인해 볼수 있다.

UTF-8 로 출력하기

이는 Deployment Discriptor 인 Web.xml 파일에 Encoding 설정을 UTF-8 로 설정해 줘야한다. 이는 다음과 같다.

Session 공유 테스트 코드

WAS 서버를 세팅할때에 Session 을 공유하도록 가끔은 구성할 때가 있다. 요즘은 spring-data-redis 를 이용해서 Redis 에 Session 을 저장하도록 지원하고 있지만 WAS  서버 자체적으로 Session 을 공유하도록 설정해서 운영할 수 있다.

이때 과연 WAS  서버들간 Session 이 제대로 공유되고 있는지를 확인할 필요가 있는데 이때 사용할 수 있는 코드다. 참고로 이 코드는 다음의 github 저장소에서 가지고 왔다.

먼저, Controller 를 다음과 같이 수정한다.

그리고 다음과 같이 home.jsp 파일을 수정해준다.

위와같이 수정하고 실행을하면 세션관련된 내용을 출력되고 세션 공유를 테스트해 볼 수 있다.

JBoss EAP 에서 세션 공유

코딩만으로는 Session 공유가 되지 않는다. WEB-INF 디렉토리에 ‘jboss-web.xml’ 을 만들고 다음과 같이 작성한다.

그리고 web.xml 파일에 다음을 추가해 준다.

위와 같이 하면 웹 애플리케이션에서 세션이 공유된다.

윈도우용 JDK Portable 설치.

윈도우용 JDK를 보면 Portable 설치가 없다. 설치를 할려면 Windows Installer  를 이용하는 방법 밖에 없다. 문제는 두개의 버전, 1.7과 1.8 버전의 JDK 를 설치할 수가 없을 수도 있다. 최신판을 설치된 상태에서 구 버전을 설치할려면 이미 최신버전이 설치가 되어 있어서 설치가 안될 수도 있다.

이럴때 Linux 용 처럼 압축만 해제하면 쓸수 있도록 할 수 있지 않을까? 이 글은 JDK를 압축해제하는 것만으로 설치하는 방법인 Portable 설치에 대해서 다룬다. 또한, 이글은 다음 링크의 내용을 정리한 것이다.

참고로 JDK 1.7 버전만 가지고 테스트 됐다.

준비

구 버전의 Windows Installer 를 다운받는다. 보통은 .exe 확장자로 끝나는 파일이다. 또 다른 프로그램이 필요한데 .exe 를 압축해제할 수 있는 압축/해제 소프트웨어다. 많은 압축/해제 소프트웨어가 있지만 7-zip 을 이용했다.

압축해제

jdk 압축 해제
위 그림과 같이 7-zip 을 설치한 후 마우스 오른쪽 버튼을 클릭하면 .exe 파일을 압축해제할 수 있다.

압축을 해제하면 jdk-7u80-windows-x64 디렉토리가 생성되고 그 안에 ‘tools.zip’ 압축파일이 보인다. 그럼 이 tools.zip 도 압축을 해제한다.

pack 파일을 jar 파일로 변환하기

tools.zip 파일을 보면 pack 파일들이 보인다. windows installer 의 패키징 파일이다. 이것을 unpack 해서 jar 파일로 만들어주는게 핵심이 된다.

cmd 창에서 작업을 해야해서 cmd 창을 띄운다. 그리고 방금 압축해제한 디렉토리인 tools 로 이동한다.

cmd 창에서 tools 로 이동
cmd 창에서 tools 로 이동

그리고 다음과 같이 입력한다.

위와같이 하면 pack 파일이 전부 jar 파일로 변환된다.

이제 tools 디렉토리를 ‘JDK1.7’ 로 이름을 바꾸고 C:\ 로 이동시키면 Portable 하게 설치가 완료된다.