Install VMware Tools in CentOS

Posted at 2016.06.05 06:07 | Posted in Server/VMware ESXi

최소 버전의 CentOS는 perl도 없다.


# yum install -y perl


아래 순서대로 실행한다.


# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
# tar xzvf /mnt/cdrom/VMwareTools-9.4.10-2092844.tar.gz -C /tmp
# /tmp/vmware-tools-distrib/vmware-install.pl -d


추후 부전에 따라 gz 파일의 이름이 다를 수도 있다.

'Server > VMware ESXi' 카테고리의 다른 글

Install VMware Tools in CentOS 7  (0) 2018.03.25
Install VMware Tools in CentOS  (0) 2016.06.05
UEFI BIOS using USB Boot  (0) 2014.11.04
Install Driver for VMware ESXi Installer  (0) 2014.11.04
Install VMware Tools in Ubuntu  (0) 2014.11.03
Create a VMware ESXi Bootable Flash Drive (USB)  (0) 2014.11.02

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

Installing Hive(Hadoop 1) + MySQL on CentOS 6.7

Posted at 2016.01.05 22:04 | Posted in Study/Hadoop

Introduction



Hive 를 공부해보기 MySQL을 메타 스토어로 사용하는 최소한의 설치를 설치해보자..




Requirements


여기서 MySQL 설치에 대해서 다루지 않겠다... 데이터베이스와 유저까지 만들자.


Host: mysqldb

Database: hive

Username: hive


※ MySQL 을 사용 하지 않을 경우를 위해서 생략 가능한 절차를 코맨트 하겠다.


하둡은 이미 설치되어 있어야 한다. 설치된 환경은 아래와 같다.


$ rpm -qa *-release

centos-release-6-7.el6.centos.12.3.x86_64


$ java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


$ whoami

hadoop


$ pwd

/opt/hadoop


$ hadoop version

Hadoop 1.2.1

Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152

Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013

From source with checksum 6923c86528809c4e7e6f493b6b413a9a

This command was run using /opt/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar


하이브가 설치될 환경을 미리 잡아주자.


$ cat ~/.bashrc

# .bashrc

# 생략

# User specific aliases and functions

export HADOOP_HOME=/opt/hadoop/hadoop-1.2.1

export HIVE_HOME=/opt/hadoop/hive-1.2.1

export PATH=$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin




Download Hive


하이브 최신(1.2.1) 파일을 다운로드 받아 설치하자.


# 파일 다운로드

$ wget http://mirror.apache-kr.org/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz


# 압축 해제

$ tar -xzvf apache-hive-1.2.1-bin.tar.gz


# 이름 변경

$ mv apache-hive-1.2.1-bin hive-1.2.1




Install MySQL Connector/J


※ MySQL 을 사용하지 않을 거라면 패스


하이브에서 메타스토어를 다른 데이터베이스로 사용할 시에 해당 JDBC 라이브러리를 넣어줘야한다.


MySQL을 사용할 것이기 때문에 이에 맞는 라이브러리를 찾아 넣어주자. 


# 파일 다운로드

$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz


# 압축 해제

$ tar -xzvf mysql-connector-java-5.1.38.tar.gz


# jar 파일 복사

$ cp mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /opt/hadoop/hadoop-1.2.1/lib


MySQL 스키마 파일은 하이브에 포함되어 있다. 어떤 방법을 쓰든.... 실행하자.


$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql


나는 mysql client 를 이용해서 넣었다..


$ mysql --host=mysqldb --database=hive --user=hive --password=**** < $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql


Setting


하이브에서 사용하게 될 영역을 HDFS 내에 만들자.


$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp

$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse


설정 파일을 만들자. (이 파일이 처음에는 없을 것이다)


$ vi $HIVE_HOME/conf/hive-site.xml


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop-01:9000</value>
    </property>
    <!-- MySQL 사용 안할 거라면 이 아래는 패스 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://mysqldb:3306/hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>****</value>
    </property>
</configuration>




이제 하이브를 한번 실행 해보자. 아래와 같이 CLI 커맨드가 나오면 OK!

$ hive

Logging initialized using configuration in jar:file:/opt/hadoop/hive-1.2.1/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> _


'Study > Hadoop' 카테고리의 다른 글

Install Ambari and Deploy HDP in CentOS  (0) 2016.06.05
Installing Hive(Hadoop 1) + MySQL on CentOS 6.7  (0) 2016.01.05
Installing Hadoop 1 on Ubuntu 14.04  (0) 2015.11.12
tag: hadoop, Hive, MySQL

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

Installing Hadoop 1 on Ubuntu 14.04

Posted at 2015.11.12 03:37 | Posted in Study/Hadoop

Introduction


시작하세요! 하둡 프로그래밍
국내도서
저자 : 정재화
출판 : 위키북스 2014.12.31
상세보기


거침없이 배우는 하둡
국내도서
저자 : 척 램(Chuck Lam) / 강택현,이현남역
출판 : 지앤선(지&선) 2012.07.17
상세보기


하둡을 공부하기 위하여 설치해보자.


연습을 실전 같이! 완전분산(Fully distributed) 모드로 설치한다.


 호스트

 아이피

 역할

 코어/메모리

 hadoop-01

 192.168.153.10

 NameNode

 1 코어 / 1 GB

 hadoop-02

 192.168.153.11

 Secondary NameNode / DataNooe

 1 코어 / 1 GB

 hadoop-03

 192.168.153.12

 DataNode 1 코어 / 1 GB

 hadoop-04

 192.168.153.xxx DataNode 1 코어 / 1 GB




하둡 실행 계정 생성


하둡 실행 계정은 하둡 클러스터를 구성하는 모든 서버에 동일하게 생성해야 한단다. (정말? 실화야?)


"hadoop" 계정을 사용하도록하겠다. 각 서버에 생성하자.


root@hadoop-01:~# adduser hadoop

root@hadoop-02:~# adduser hadoop

root@hadoop-03:~# adduser hadoop




호스트 파일 수정


IP를 직접 사용해도 되지만 호스트명을 사용하자. 각 서버에서 /etc/hosts 파일을 아래와 같이 수정한다.


※ 물론 이 작업을 수행하는 나의 컴퓨터에도 호스트 파일 수정 작업이 되어 있어야 한다.


root@hadoop-01:~# vi /etc/hosts


127.0.0.1       localhost

192.168.153.10  hadoop-01

192.168.153.11  hadoop-02

192.168.153.12  hadoop-03


root@hadoop-02:~# vi /etc/hosts

root@hadoop-03:~# vi /etc/hosts




인코딩 방식 설정


하둡은 인코딩 방식으로 UTF-8을 사용한단다... 다행이 우분투는 기본적으로 UTF-8 사용해서 천만 다행 -_-/




방화벽 해제


어차피 내부통신에다 연습용이니 다 해제!


root@hadoop-01:~# ufw disable

root@hadoop-02:~# ufw disable

root@hadoop-03:~# ufw disable




자바 설치


Oracle JDK 1.7 을 설치 하도록 하겠다.


http://ubuntuhandbook.org/index.php/2014/02/install-oracle-java-6-7-or-8-ubuntu-14-04/


Oracle JDK 7 을 설치 했을 시에 설치되는 위치는 "/usr/lib/jvm/java-7-oracle" 이다.




하둡 클러스터를 위한 SSH 설정


마스터 노드는 클러스터에 위치한 다른 모든 노드들에 접근할 수 있어야 한다. 하둡은 이러한 접근을 위해 SSH를 사용한다.


마스터 노드(hadoop-01)에서 쌍으로 이루어진 SSH 키를 생성한다.


hadoop@hadoop-01:~$ pwd

/home/hadoop


hadoop@hadoop-01:~$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): [Enter]
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): [Enter]
Enter same passphrase again: [Enter]
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
c5:f5:5b:3a:83:13:1b:9b:07:2c:dc:11:34:3d:a9:41 hadoop@hadoop-01
The key's randomart image is:
...


생성된 공개키를 다른 서버에 복사한다.


ssh-copy-id -i [복사할 공개키 경로] [대상 서버 계정]@[대상 서버]


hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-02

The authenticity of host 'hadoop-02 (192.168.153.11)' can't be established.

ECDSA key fingerprint is 28:1a:ab:fa:2d:a8:e0:c8:5b:ef:f7:ff:74:69:45:96.

Are you sure you want to continue connecting (yes/no)? yes

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

hadoop@hadoop-02's password: [SSH 비밀번호 입력]


Number of key(s) added: 1


Now try logging into the machine, with:   "ssh 'hadoop@hadoop-02'"

and check to make sure that only the key(s) you wanted were added.


hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-03

hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-01




하둡 다운로드 및 압축 해제


현재 최신 버전은 1.2.1 이다.


hadoop@hadoop-01:~$ pwd

/home/hadoop


hadoop@hadoop-01:~$ wget https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz


압축 해제!


hadoop@hadoop-01:~$ tar xvfz hadoop-1.2.1.tar.gz




hadoop-env 수정


이것 저것....


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ pwd

/home/hadoop/hadoop-1.2.1/conf


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi hadoop-env.sh


# The java implementation to use.  Required.

# 현재 우분투 14에 Oracle JDK 7을 설치하면 아래와 같은 경로에 설치된다.

export JAVA_HOME=/usr/lib/jvm/java-7-oracle


# The maximum amount of heap to use, in MB. Default is 1000.

export HADOOP_HEAPSIZE=768


# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by
#       the users that are going to run the hadoop daemons.  Otherwise there is
#       the potential for a symlink attack.
export HADOOP_PID_DIR=/home/hadoop/hadoop-1.2.1/pids




masters 수정


masters 파일에는 보조네임 노드를 실행할 서버를 설정한다. (여러개 가능)


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi masters


hadoop-02




slaves 수정


slaves 파일에는 데이터 노드를 실행할 서버를 설정한다.


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi slaves


hadoop-02

hadoop-03




core-site.xml 수정


이것 저것... ㅠㅠ


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi core-site.xml


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->

<configuration>

        <property>

                <name>fs.default.name</name>

                <value>hdfs://hadoop-01:9000</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>/home/hadoop/hadoop-data</value>

        </property>

</configuration>




hdfs-site.xml 수정


...


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi hdfs-site.xml


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->

<configuration>

        <property>

                <name>dfs.replication</name>

                <value>3</value>

        </property>

        <property>

                <name>dfs.http.address</name>

                <value>hadoop-01:50070</value>

        </property>

        <property>

                <name>dfs.secondary.http.address</name>

                <value>hadoop-02:50090</value>

        </property>

</configuration>




mapred-site.xml 수정


..


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi mapred-site.xml


<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<!-- Put site-specific property overrides in this file. -->

<configuration>

        <property>

                <name>mapred.job.tracker</name>

                <value>hadoop-01:9001</value>

        </property>

</configuration>




하둡 환경설정 복사


네임노드에서 모든 수정 작업이 완료되면 다른 데이터노드 서버로 파일을 복사한다.


hadoop@hadoop-01:~$ cd ~

hadoop@hadoop-01:~$ tar zcvf hadoop.tar.gz hadoop-1.2.1

hadoop@hadoop-01:~$ scp hadoop.tar.gz hadoop@hadoop-02:/home/hadoop

hadoop@hadoop-01:~$ scp hadoop.tar.gz hadoop@hadoop-03:/home/hadoop


각각 서버로 전송된 파일 압축 해제


hadoop@hadoop-02:~$ tar xvfz hadoop.tar.gz

hadoop@hadoop-03:~$ tar xvfz hadoop.tar.gz




하둡 실행


네임노드를 초기화한다.


hadoop@hadoop-01:~/hadoop-1.2.1/bin$ ./hadoop namenode -format


INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = hadoop-01/192.168.153.10 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 1.2.1 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on ... STARTUP_MSG: java = 1.7.0_80 ************************************************************/ INFO util.GSet: Computing capacity for map BlocksMap INFO util.GSet: VM type = 64-bit INFO util.GSet: 2.0% max memory = 778502144 INFO util.GSet: capacity = 2^21 = 2097152 entries INFO util.GSet: recommended=2097152, actual=2097152 INFO namenode.FSNamesystem: fsOwner=hadoop INFO namenode.FSNamesystem: supergroup=supergroup INFO namenode.FSNamesystem: isPermissionEnabled=true INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s) INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0 INFO namenode.NameNode: Caching file names occuring more than 10 times INFO common.Storage: Image file /home/hadoop/hadoop-data/dfs/name/current/fsimage of size 112 bytes saved in 0 seconds. INFO namenode.FSEditLog: closing edit log: position=4, editlog=/home/hadoop/hadoop-data/dfs/name/current/edits INFO namenode.FSEditLog: close success: truncate to 4, editlog=/home/hadoop/hadoop-data/dfs/name/current/edits INFO common.Storage: Storage directory /home/hadoop/hadoop-data/dfs/name has been successfully formatted. INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoop-01/192.168.153.10 ************************************************************/


전부 실행


hadoop@hadoop-01:~/hadoop-1.2.1/bin$ ./start-all.sh


starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-hadoop-01.out hadoop-03: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-hadoop-03.out hadoop-02: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-hadoop-02.out hadoop-01: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-hadoop-01.out starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-hadoop-01.out hadoop-03: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-hadoop-03.out hadoop-02: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-hadoop-02.out




제대로 올라갔는지 확인하자


hadoop@hadoop-01:~$ jps

3050 JobTracker

2730 NameNode


hadoop@hadoop-02:~$ jps

3067 SecondaryNameNode

2951 DataNode

3190 TaskTracker


hadoop@hadoop-03:~$ jps

3087 TaskTracker

2949 DataNode


https://hadoop-01:50070




'Study > Hadoop' 카테고리의 다른 글

Install Ambari and Deploy HDP in CentOS  (0) 2016.06.05
Installing Hive(Hadoop 1) + MySQL on CentOS 6.7  (0) 2016.01.05
Installing Hadoop 1 on Ubuntu 14.04  (0) 2015.11.12
tag: hadoop, Java

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

후 이런 사소한거 가지고 반나절을 날려 먹었네... 기억해두자..


GWT 로 프로젝트 진행 중 jsp에 EL 태그를 사용할 일이 있어서 썻더니 그대로 나온다. ㄷㄷ;;


뭐 여러 가지 원인이 있겠지만 나의 경우는 아래와 같이 해결했다.


GWT 개발 모드시 내부적으로 Jetty 를 사용 하는데 WAS 타는듯? -_-/


jsp 파일의 상단에 아래와 같이 추가해주자..


<%@ page isELIgnored="false" %>
tag: EL, JSP

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

GWT with Maven

Posted at 2015.03.18 02:31 | Posted in Framework

Installed the Java SDK


If you don’t have a recent version of the Java SDK installed, download and install Sun Java Standard Edition SDK.


적어도 이 문서를 찾아보는 이라면 자바는 이미 깔려 있을 것이라고 굳게 믿는다... -_-/




Installed Eclipse or your favorite Java IDE


In these tutorials, we use Eclipse because it is open source. However, GWT does not tie you to Eclipse. You can use IntelliJ, NetBeans or any Java IDE you prefer. If you use a Java IDE other than Eclipse, the screenshots and some of the specific instructions in the tutorial will be different, but the basic GWT concepts will be the same.


If your Java IDE does not include Apache Ant support, you can download and unzip Ant to easily compile and run GWT applications.


이클립스를 기준으로 한다. 현재 최신 버전인 Luna 로 하겠다.





Installed the Google Plugin for Eclipse


The Google Plugin for Eclipse adds functionality to Eclipse for creating and developing GWT applications.


구글 플러그인을 깔자.


Help - Install New Software...



Work with: https://dl.google.com/eclipse/plugin/4.4


항목중에 Google Plugin for Eclise 4.4 를 체크 - Next 버튼 클릭.





Using the Archetype


http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html


메이븐 archetype 를 업데이트 해줘야 한다. (현재 최신 버전은 2.7.0 이다.)


File - New - Other...


Maven Project 선택.



gwt-maven 으로 필터링을 하게 되면 하나가 나오는데 버전이 2.5.0 일 것이다. (아래처럼 2.7.0 이라면 패스)


Add Archetype 버튼 클릭.



Archetype Group Id: org.codehaus.mojo

Archetype Artifact Id: gwt-maven-plugin

Archetype Version: 2.7.0 (현재의 최신 버전)



OK 버튼 클릭하면 archetype 을 다운로드해서 업데이트 한다.

아직 프로젝트는 안만들 것이니 Canel 버튼 클릭.




Creating the StockWatcher application (using Eclipse)


File - New  - Other... - Maven Project


Group Id: com.google.gwt.sample (아무거나 -_-)

Artifact Id: StockWatcher

Package: com.google.gwt.sample.stockwatcher

module: StockWatcher


※ 여기서 모듈명은 GWT 튜토리얼에 있는 StockWatcher 로 하겠다.



Finish 버튼 클릭.




Using the Google Eclipse Plugin


http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html


메이븐을 이용해서 만들었는데 이클립스의 개발자 모드로 해보려면 추가 작업이 필요하다.


resources 쪽에 있는 gwt.xml 파일을 java 쪽으로 옮겨야한다.

구글 플러그인에서 resources 에 있는 gwt.xml 을 인식하지 못하는 것 같다.


src/main/resources/com/google/gwt/sample/stockwatcher 아래에 있는 StockWatcher.gwt.xml 파일을

com.google.gwt.sample.stockwatcher 패키지로 이동시킨다.



이동 결과



다음은 Google 플러그인 연결(?) 작업이다.


StockWatcher 프로젝트에서 오른쪽 버튼 클릭 - Properties



Google - Web Application


This project has a War directory 체크



Google - Web Toolkit


Use Google Web Toolkit 체크

Entry Point Modules 에 StockWatcher 가 등록되어 있다.



OK 버튼 클릭


※ OK 버튼 클릭 시 NullPointException 에러가 나면 취소 후 위 작업을 다시 해보자.




Testing the default project components


StockWatcher 프로젝트에서 오른쪽 버튼 클릭 - Run As - Web Application (GWT Super Dev Mode)



WAR 디렉토리를 선택하라고 최초에 한번 나올 것이다. src/main/webapp(기본) 를 선택하자.


앞으로 여기에 모든 파일들이 적용 된다. 라이브러리, 컴파일 되는 자바스크립트 파일 등등..



Console 창에 로그 출력 되다가 Development Mode 창에 아래와 같이 주소가 나오면 성공!



더블클릭 해서 브라우저를 띄워보자.



이제 GWT 로 "Hello World" 찍었다.


'Framework' 카테고리의 다른 글

GWT with Maven  (0) 2015.03.18
tag: GWT, maven, Tutorial

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기