Đề tài 11 Cài đặt và cấu hình môi trường lập trình Java (mã nguồn mở) trên Linux
Trang 1MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 4
Phân công công việc 5
I Giới thiệu tổng quan về ngôn ngữ lập trình Java 6
1 Giới thiệu về ngôn ngữ lập trình Java 6
a Java là gì? 6
b Lịch sử phát triển ngôn ngữ lập trình Java 6
c Một số đặc điểm nổi bật của ngôn ngữ lập trình Java 6
2 Các ứng dụng của Java 8
a Java và ứng dụng Console 8
b Java và ứng dụng Applet 8
c Java và phát triển ứng dụng Desktop dùng AWT và JFC 8
d Java và phát triển ứng dụng Web 8
e Java và phát triển các ứng dụng nhúng 8
II Cài đặt và cấu hình 9
1 Một số khái niệm 9
2 Sự Khác biệt giữa JDK,JRE và JVM 10
a JVM 10
10
b JRE 11
c JDK 11
3 Cài đặt JDK 12
4 Chương trình demo 13
5 Cài đặt Eclipse 15
III Lập trình trên Eclipse 16
IV Tổng Kết 20
Trang 3LỜI NÓI ĐẦU
Ngày nay trên thế giới có rất nhiều ngôn ngữ lập trình đang được sử dụng Mỗi một ngôn ngữ lại có những điểm mạnh riêng biệt Một trong những ngôn ngữ đang được
sử dụng rộng rãi hiện nay chính là ngôn ngữ lập trình Java Ngôn ngữ lập trình Java có thể chạy trên nhiều hệ điều hành khác nhau Ở bài báo cáo này,chúng em tìm hiểu về đề tài “ Cài đặt và cấu hình môi trường lập trình Java (mã nguồn mở) trên Linux”
Để hoàn thành được bài tập lớn này, nhóm chúng em xin được gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn đề tài Thầy Trần Nguyên Ngọc, Giảng viên Viện Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này
Trang 4Phân công công việc
- Đặng Anh Minh: Giới thiệu tổng quan về ngôn ngữ lập trình Java
Giới thiệu ngôn ngữ lập trình Java
Các ứng dụng của Java
- Phạm Văn Tiệp: Cài đặt và cấu hình Java
Cài đặt JDK
Cài đặt Eclipse
Chương trình Demo
Trang 5I Giới thiệu tổng quan về ngôn ngữ lập trình Java
1 Giới thiệu về ngôn ngữ lập trình Java
a Java là gì?
Java là ngôn ngữ lập trình hướng đối tượng (tựa C++) do Sun Microsystem đưa ra vào giữa thập niên 90
Chương trình viết bằng ngôn ngữ lập trình Java có thể chạy trên bất kỳ hệ thống nào có cài máy ảo Java ( Java Virtual Machine)
b.Lịch sử phát triển ngôn ngữ lập trình Java
Ngôn ngữ lập trình Java do James Gosling và các cộng sự của công ty Sun Microsystem phát triển
Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu thành lập nên nhóm đặt tên là Green Team Nhóm Green Team có trách nhiệm xây dựng công nghệ mới cho ngành điện tử tiêu dùng Để giải quyết vấn đề này nhóm nghiên cứu phát triển để xây dựng một ngôn ngữ lập trình mới đặt tên là Oak tương tự C++ và có khả năng chạy trên nhiều nền phần cứng khác nhau Cũng lúc đó World Wide Web bắt đầu phát triển và Sun đã thấy được tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến và phát triển Sau đó không lâu ngôn ngữ mới với tên gọi Java ra đời và được giới thiệu năm 1995
Java là tên gọi của hòn đảo Indonexia, đây là nơi nhóm phát triển đã chọn
để đặt tên cho ngôn ngữ lập trình Java trong một chuyến đi tham quan và làm việc trên hòn đảo này
c Một số đặc điểm nổi bật của ngôn ngữ lập trình Java
Máy ảo Java ( JVM- Java Virtual Machine)
Tất cả các chương trình muốn thực thi được thì phải biên dịch ra mã máy
Mã máy của từng kiến trúc CPU của mỗi máy tính khác nhau ( tập lệnh mã máy của CPU intel, CPU Solarix, CPU Macintosh…) là khác nhau Vì vậy trước đây một chương trình sau khi thực hiện biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó Đối với CPU intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows,Linux… Chương trình thực thi được trên Windowns được biên dịch dưới dạng file đuôi EXE, còn trên Linux được biên dịch dưới dạng file ELF, vì vậy trước đây một chương trình chạy được trên
Trang 6Windows muốn chạy được trên hệ điều hành như Linux thì phải chỉnh sửa và biên dịch lại Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã được khắc phục Môt chương trình viết bằng ngôn ngữ lập trình Java
sẽ được biên dịch lại ra mã của máy ảo java Sau đó máy ảo Java chịu trách nhiệm chuyển mã đó thành mã máy tương ứng Sun Microsystem chịu trách nhiệm phát triển các máy ảo java chạy trên các hệ điều hành trên các kiến trúc CPU khác nhau
Thông dịch:
Java là ngôn ngữ lập trình vừa biên dịch vừa thông dịch Chương ngồn viết bằng ngôn ngữ lập trình java có đuôi *.java đầu tiên được biên dịch thành tập tin đuôi *.class và sau đó sẽ được trình thông dịch thành mã máy
Độc lập nền:
Một chương trình viết bằng ngôn ngữ Java có thể chạu trên nhiều máy tính
có hệ điều hành khác nhau miễn sao ở đó có cài đặt máy ảo Java
Hướng đối tượng:
Hướng đối tượng trong Java tương tự C++ nhưng Java là ngôn ngữ lập trình hướng đối tượng hoàn toàn Tất cả mọi thứ đề cập trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java( đó là hàm main) cũng phải đặt bên trong một lớp Hướng đối tượng trong Java không có tính đa kế thừa( Multi inheritance) như trong C++
mà thay vào đó Java đưa ra các khái niệm interface để hỗ trợ tính đa kế thừa
Đa nhiệm, đa luồng (MultiTasking – Multithreading):
Java hỗ trợ chương trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiến trình có thể chạy song song cùng một thời điểm và tương tác với nhau
Khả chuyển:
Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ vần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào cài máy
ảo Java
Hỗ trợ mạnh cho việc phát triển ứng dụng:
Công nghệ Java phát triển mạnh mẽ nhờ vào đại gia Sun Microsystem cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như
J2SE(Java 2 Standard Edition): hỗ trợ phát triển ứng dụng đơn, client-server
Trang 7 J2EE(Java 2 Enterpirse Edition): hỗ trợ phát triển các ứng dụng thương mại
J2ME(Java 2 Micro Edition): hỗ trợ phát triển các ứng dụng trên các thiết bị di dộng, không dây
2 Các ứng dụng của Java
a Java và ứng dụng Console
Ứng dụng Console là ứng dụng nhập xuất chế độ văn bản tương tự như màn hình Console mà hệ điều hành MS-DOS Loại chương trình này thích hợp với những ai bước đầu làm quen với ngôn ngữ lập trình Java
Các ứng dụng kiểu Console thường được dùng để minh họa các ví dụ cơ bản liên quan đến cú pháp ngôn ngữ, các thuật toán và các chương trình ứng dụng không cần thiết đến giao diện người dùng đồ họa
b Java và ứng dụng Applet
Java Applett là loại ưng sụng có thể nhúng và chạy trong trang web của một lập trình Web Từ khi Internet mới ra đời, Java Applet cung cấp một khả năng lập trình mạnh mẽ cho các trang web Nhưng gần đây khi các chương trình duyệt Web đã phát triển với khả năng lập trình bằng VB Script, Java Script HTML, XML… cùng với sự cạnh tranh của Microsoft và Sun đã làm cho Java Applet lu mờ Và cho đến bây giờ gần như các lập trình viên đều không còn mặn
mà với Java Applet nữa
c Java và phát triển ứng dụng Desktop dùng AWT và JFC
Việc phát triển các chương trình ứng dụng có giao diện người dùng đồ họa trực quan giống như những chương trình được viết bằng ngôn ngữ lập trình VC+ + hay Visual Basic đã được Java giải quyết bằng thư viện AWT và JFC JFC là thư viện rất phong phú và hỗ trợ mạnh mẽ hơn nhiều so với AWT JFC giúp cho người lập trình có thể tạo ra một giao diện trực quan của bất kỳ ứng dụng nào
d Java và phát triển ứng dụng Web.
Java hỗ trợ mạnh mẽ đối với việc phát triển các ứng dụng Web thông qua công nghệ J2EE Công nghệ J2EE hoàn toàn có thể tạo ra các ứng dụng Web một cách hiệu quả không thua kém công nghệ NET mà Microsoft đang quang cáo
Hiện nay có rất nhiều trang Web nổi tiếng ở Việt Nam cũng như các nước trên Thế giới được xây dựng và phát triển dựa trên nền công nghệ Java
e Java và phát triển các ứng dụng nhúng
Trang 8Java Sun đưa ra công nghệ J2ME hỗ trợ phát triển các chương trinh, phần mềm nhúng J2ME cung cấp môi trường cho những chương trình ứng dụng có thể chạy được trên các thiết bị các nhân như: Điện thoại di dộng, máy tính bỏ túi PDA…
II Cài đặt và cấu hình
1 Một số khái niệm
Khi được học về Java, có lẽ tính năng đặc biệt nhất của Java đó là "Viết một lần, chạy mọi nơi" Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy tương ứng với kiến trúc của CPU cũng như hệ điều hành đang sử dụng Như vậy, một khi muốn chuyển đổi nền tảng sử dụng, chúng ta cần phải chỉnh sửa lại mã code của chương trình và biên dịch lại cho phù hợp Riêng đối với Java, chương trình nguồn, trước tiên, sẽ được biên dịch thành mã bytecode và sau đó được thông dịch thành mã máy tương ứng nhờ vào máy ảo Java (JVM - Java Virtual Machine) Nếu cảm thấy nhàm chán khi cứ phải viết code Java trên Windows, hay đơn giản chỉ muốn thử xem Java biên dịch và thực thi một một ứng dụng trên một nền tảng khác Windows như thế nào, chúng ta sẽ tcài đặt, viết code, biên dịch và thực thi một ứng dụng Java trên Ubuntu để cùng trải nghiệm
Một số khái niệm :
Bộ công cụ lập trình cho Java: hiện nay có nhiều bộ công cụ lập trình cho Java: Java Workshop của Sun Microsystems, Visual J của Microsoft, Symantec Cafe của Symantec Tất cả đều có điểm chung là hỗ trợ tối đa cho người lập trình Sun Microsystems còn đưa ra khá nhiều phần mềm cung cấp sẵn các đối tượng class để người lập trình sử dụng Để bắt đầu việc học lập trình Java, các bạn cần phải trang
bị cho mình thật đầy đủ tài liệu hướng dẫn và tối thiểu là một bộ công cụ lập trình
Môi trường phát triển tích hợp (Integrated Development Environment; viết
tắt: IDE) là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên
trong việc phát triển phần mềm
Các môi trường phát triển hợp nhất thường bao gồm:
Một trình soạn thảo mã (source code editor): dùng để viết mã.
Trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter).
Trang 9 Công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mã
nguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tự
động
Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi.
Ngoài ra, còn có thể bao gồm hệ thống quản lí phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI)
Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp
(class browser), trình quản lí đối tượng (object inspector), lược đồ phân cấp lớp (class hierarchy diagram), để sử dụng trong việc phát triển phần mềm
theo hướng đối tượng
Phân theo số lượng các ngôn ngữ được hỗ trợ, ta có thể chia các môi trường phát triển hợp nhất được sử dụng rộng rãi ngày nay thành hai loại:
Môi trường phát triển hợp nhất một ngôn ngữ: làm việc với một ngôn ngữ cụ thể, ví dụ: Microsoft Visual Basic 6.0 IDE
Môi trường phát triển hợp nhất nhiều ngôn ngữ: có thể làm việc với nhiều ngôn ngữ lập trình, ví dụ: Eclipse IDE, NetBeans, Microsoft Visual Studio
2 Sự Khác biệt giữa JDK,JRE và JVM
a JVM
JVM viết tắt (Java Virtual Machine) nó là tạo ra môi trường máy ảo để
thực thi mã java bytecode.
JVM có sẵn trong nhiều phần cứng và nền tảng phần mềm.
Nó gồm 4 nhiệm vụ chính:
Trang 10- Load code
- Provides runtime environment
b JRE
JRE viết tắt Java Runtime Enviromement.
Nó giúp việc thực thi JVM và môi trường cơ bản.
c JDK
Java Development Kit là một bộ bao gồm các công cụ cần thiết trong quá trình
phát triển các ứng dụng Java + JRE Các công cụ đó là: javac.exe, java.exe, applet
viewer,… vai trò của từng công cụ như sau:
Trang 11 javac.exe – giúp biên dịch các file nguồn viết bằng ngôn ngữ Java (*.java) thành
mã máy (byte code)
java.exe – gọi tới JRE, tải nạp các file mã máy đã được biên dịch và gọi tới
method main để thực thi các mã đó
Applet Viewer – để chạy các ứng dụng viết bằng applet.
Như vậy JDK cung cấp tới bạn bộ công cụ trọn gói để phát triển các ứng dụng
Java bao gồm: phát triển (kết quả là các file java) –> biên dịch (kết quả là các file class) –> thực thi ứng dụng
Kể từ khi ngôn ngữ Java ra đời, JDK là bộ phát triển phần mềm thông dụng nhất cho Java
3. Cài đặt JDK
Tải JDK :
Vào trang www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html để tải phiên bản của JDK
Giả sử sau khi tải về ta được tệp tin jdk-7u21-linux-i586.tar.gz, nằm ở thư mục
Downloads
Mở Terminal (Ctrl + Alt + T) và thực hiện một số lệnh sau:
Di chuyển đến thư mục Downloads
Cd Download
Giải nén tập tin jdk-7u21-linux-i586.tar.gz
Tar-xvf jdk-7u21-linux-i586.tar.gz
Tạo một thư mục trên hệ thống để cài đặt java
sudo mkdir -p /usr/lib/jvm/jdk1.7.0
Sao chép toàn bộ tập tin vừa giải nén vào thư mục mới tạo này
sudo mv jdk1.7.0_21/* /usr/lib/jvm/jdk1.7.0
Tiến hành cài đặt JDK bằng các dòng lệnh < gõ Enter sau mỗi dòng lệnh >:
Trang 12sudo update-alternatives install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1 sudo update-alternatives install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 1
sudo update-alternatives install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0/bin/javaws 1
Như vậy là bạn đã thực hiện xong việc cài đặt Java trên Ubuntu Để kiểm tra và xem version Java hiện hành trên máy tính, gõ vào Terminal lệnh sau:
Java version
4 Chương trình demo
Giả sử, bạn tạo thư mục java_code trong thư mục home của người dùng hiện tại để lưu trữ các tập tin java Bạn có thể tạo thư mục này bằng cách sau, nhập vào Terminal lệnh :
Mkdir~/java_code
Tiếp theo, bạn tạo một chương trình java đơn giản sau, nhập vào Termial dòng lệnh:
Gedit ~/java_code/Hello.java
Trình soạn thảo Gedit hiện ra, bạn nhập vào đoạn mã tương tự như hình sau:
Trang 13Sau khi nhập xong, nhấn Ctrl + S để lưu và đóng trình soạn thảo Gedit lại.
Biên dịch mã nguồn java trên sang mã bytecode bằng lệnh:
javac ~/java_code/Hello.java
Sau khi, biên dịch xong, bạn sẽ nhận được tập tin Hello.class nằm cùng thư mục với tập tin nguồn Hello.java Để thực thi chương trình này, đầu tiên, bạn cần cài đặt biến môi trường CLASSPATH để máy ảo Java có thể tìm thấy các tập tin class bên trong thư mục
~/java_code Mở Terminal và gõ lệnh sau:
export CLASSPATH=”/home/ltgiang/java_code”
Lưu ý: Do đường dẫn CLASSPATH cần phải được nhập chính xác nên không thể dùng
"~/java_code" mà thay vào đó là "home/ltgiang/java_code" trong đó ltgiang là tên người dùng hiện hành, cũng cần thay đổi lại cho phù hợp
Để kiếm tra biến môi trường CLASSPATH, bạn gõ lệnh sau:
echo ${ CLASSPATH}
Trang 14Tiếp theo, thực hiện chương trình bằng lệnh sau :
java Hello
5 Cài đặt Eclipse
Để việc viết mã và tạo những dự án lớn được thuận tiện, dễ dàng hơn Bạn có thể cài đặt thêm Eclipse, một trong những môi trường phát triển tích hợp hỗ trợ khá nhiều ngôn ngữ thông dụng hiện nay như: C, C++, PHP mà trước hết là Java, nhằm hỗ trợ bạn viết mã code và quản lý những dự án chuyên nghiệp hơn
Tải Eclipse
http://www.eclipse.org/downloads
Di chuyển đến thư mục vừa download eclipse về và chạy các lệnh :
tar xzf eclipse-SDK-3.6.2-linux-gtk.tar.gz sudo mv eclipse /opt/eclipse
cd /opt sudo chmod -R +r eclipse
cd eclipse sudo chmod +x eclipse
Trang 15Chú ý: ở dòng 1 và dòng 3 các bạn nhập tên file tuỳ theo file mà các bạn đã down.
Chạy tiếp các lệnh sau tạo shell thực thi cho eclipse:
Tạo shell thực thi cho eclipse :
cd /usr/local/bin Sudo touch eclipse sudo chmod 755 eclipse sudo gedit eclipse
Trình soạn thảo gedit sẽ hiện ra, chèn đoạn mã này vào rồi save lại :
#!/bin/sh export ECLIPSE_HOME=/opt/eclipse
$ECLIPSE_HOME/eclipse $*
Giờ thì Eclipse đã có trong danh sách Search Applications của bạn
III Lập trình trên Eclipse
Sau khi cài đặt xong, chúng ta có giao diện của chương trình :