22. المرفقات
نقدم هنا كيفية تثبيت الأدوات المستخدمة في هذا المستند على أجهزة تعمل بنظام Windows 7 أو 8. تشير لقطات الشاشة عمومًا إلى الإصدارات 64 بت من SGBD والأدوات المثبتة. سيقوم القارئ بالتكيف مع بيئته الخاصة.
22.1. تثبيت JDK
يمكن العثور على URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (أكتوبر 2014)، وهو أحدث إصدار من JDK. سنسمي بعد ذلك <jdk-install> مجلد تثبيت JDK.
![]() |
22.2. تثبيت Maven
Maven هو أداة لإدارة تبعيات مشروع Java وأكثر من ذلك. وهو متاح (أكتوبر 2014) في URL [http://maven.apache.org/download.cgi].
![]() |
قم بتنزيل الملف المضغوط وفك ضغطه. سنسمي مجلد تثبيت Maven بـ <maven-install>.
![]() |
- في [1]، يقوم الملف [conf / settings.xml] بتكوين Maven؛
يحتوي على الأسطر التالية:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
قد تسبب القيمة الافتراضية للسطر 4 مشكلة لبعض البرامج التي تستخدم Maven، إذا كان ملف {user.home} الخاص بك يحتوي على مسافة في مساره (على سبيل المثال [C:\Users\Serge Tahé]). سنحدد (السطر 7) مجلدًا آخر لمستودع Maven المحلي:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>
سنحاول تجنب استخدام مسار يحتوي على مسافات في السطر 7.
22.3. تثبيت STS (Spring Tool Suite)
سنقوم بتثبيت SpringSource Tool Suite [http://www.springsource.com/developer/sts] (أكتوبر 2014)، وهو إصدار Eclipse مزود مسبقًا بالعديد من المكونات الإضافية المرتبطة بإطار عمل Spring، بالإضافة إلى تكوين Maven مثبت مسبقًا.
![]() |
- انتقل إلى موقع SpringSource Tool Suite (STS) [1]، لتنزيل الإصدار الحالي من STS [2A] [2B]،
![]() |
![]() |
- الملف الذي تم تنزيله هو أداة تثبيت تقوم بإنشاء شجرة الملفات [3A] [3B]. في [4]، يتم تشغيل الملف القابل للتنفيذ،
- في [5]، تظهر نافذة عمل IDE بعد إغلاق نافذة الترحيب. في [6]، يتم عرض نافذة خوادم التطبيقات،
![]() |
- في [7]، نافذة الخوادم. تم تسجيل خادم. إنه خادم VMware متوافق مع Tomcat.
يجب تحديد مجلد تثبيت Maven في STS:
![]() |
- في [1-2]، يتم تكوين STS؛
- في [3-4]، نضيف تثبيتًا جديدًا لـ Maven؛
![]() |
- في [5]، نحدد مجلد تثبيت Maven؛
- في [6]، ننهي المساعد؛
- في [7]، نجعل التثبيت الجديد لـ Maven هو التثبيت الافتراضي؛
![]() |
- في [8-9]، يتم التحقق من مستودع Maven المحلي، وهو المجلد الذي سيضع فيه التبعيات التي سيقوم بتنزيلها وحيث سيضع STS العناصر التي سيتم إنشاؤها؛
يجب أيضًا اختيار JDK (Java Development Kit) لتشغيل مشاريع Eclipse مع وبدون Maven [1-5].
![]() |
باستخدام [4]، يمكن إضافة JDK (Java Development Kit) أو JRE (Java Runtime Environment). هذا الأخير قادر على تشغيل ملفات .class ولكنه لا يستطيع ترجمة ملفات .java لإنتاجها. أما JDK فيستطيع القيام بالأمرين. سنختار JDK لأن بعض عمليات Maven تحتاج إلى JDK.
لإنشاء مشروع Eclipse، نتبع الخطوات التالية:
![]() |
- في [3]، قم بتسمية المشروع؛
- في [4]، حدد مجلدًا موجودًا وفارغًا؛
![]() |
- في [5]، المشروع الذي تم إنشاؤه؛
- في [5-8]، قم بإنشاء حزمة. الحزمة هي مجلد يحتوي على كود Java. يمكن أن تحمل فئتان نفس الاسم إذا كانتا تنتميان إلى حزم مختلفة. لا يمكن أن يكون هناك حزمتان تحملان نفس الاسم في مشروع واحد. وبالتالي، لا يمكن استخدام اسم حزمة موجود بالفعل في إحدى تبعيات المشروع. ستستخدم الشركة كاسم للحزمة اسمًا يحدد الشركة والمشروع وفروعه المختلفة؛
![]() |
- في [9]، قم بتسمية الحزمة؛
- في [10]، الحزمة التي تم إنشاؤها؛
![]() |
- في [11-13]، نقوم بإنشاء فئة في الحزمة التي تم إنشاؤها؛
![]() |
- في [14]، قم بتسمية الفئة (يجب أن تتوافق مع المعيار CamelCase - لكل كلمة في الاسم، ابدأ بحرف كبير متبوعًا بأحرف صغيرة)؛
- في [15]، تحقق من الحزمة؛
- في [16]، حدد المربع. يطلب هذا إنشاء الطريقة الثابتة [main]. تجعل هذه الطريقة الفئة قابلة للتنفيذ، أي الفئة الأولى التي يتم تنفيذها في المشروع؛
- في [17]، الفئة التي تم إنشاؤها بهذه الطريقة؛
اكتب في الطريقة [main] الكود التالي الذي يعرض نصًا على وحدة التحكم:
package st.istia;
public class Test01 {
public static void main(String[] args) {
System.out.println("test01");
}
}
![]() |
- في [18-20]، قم بتنفيذ الفئة. سيتم عندئذ تنفيذ أسلوبها [main]؛
![]() |
- في [21-22]، نتيجة التطبيق؛
إذا لم تكن طريقة العرض [Console] موجودة، فقم بما يلي [1-4]:
![]() |
قد تظهر أخطاء عند استيراد مشروع Eclipse. قد يكون ذلك بسبب تكوين غير صحيح للمشروع. لتصحيح الخطأ (إن وجد)، اتبع الخطوات التالية:
![]() |
- في [1]، قم بتعديل [Build Path] الخاص بالمشروع؛
![]() |
- إلى [2]، تم تكوين المشروع لاستخدام JVM 1.5؛
- إلى [3]، احذف هذه التبعية؛
- في [4]، أضف تبعية جديدة؛
![]() |
- في [5]، أضف JVM؛
- في [6]، اختر JVM من العنصر؛
بعد ذلك، نؤكد كل شيء ثم ننتقل إلى الخاصية [Java compiler] للمشروع [7]:
![]() |
- في [8]، نطلب من المُجمع قبول جميع خصائص لغة Java حتى الإصدار 1.7 (أو 1.8) ضمناً؛
- في [9]، يتم التحقق من الصحة؛
- في [10]، يجب ألا يحتوي المشروع الذي أعيد تكوينه على أي أخطاء؛
بالإضافة إلى ذلك، يمكن للمشروع المستورد استخدام ترميز UTF-8 للأحرف. اتبع الخطوات التالية لتعيين هذا الترميز في المشروع المستورد [1-4]:
![]() |
بالإضافة إلى ذلك، قد يكون من المفيد تعطيل التدقيق الإملائي في المشروع لتجنب تمييز التعليقات باللغة الفرنسية على أنها غير صحيحة. اتبع الخطوات التالية:
![]() |
22.4. تثبيت IDE Netbeans
يتوفر Netbeans على URL [http://netbeans.org/downloads/].
![]() |
يمكننا استخدام إصدار Java SE (الإصدار القياسي) المذكور أعلاه.
22.5. تثبيت المكون الإضافي Chrome [Advanced Rest Client]
في هذا المستند، نستخدم متصفح Chrome من Google (http://www.google.fr/intl/fr/chrome/browser/ ). سنضيف إليه الملحق [Advanced Rest Client]. يمكننا القيام بذلك على النحو التالي:
- الذهاب إلى موقع [Google Web store] (https://chrome.google.com/webstore) باستخدام متصفح Chrome؛
- ابحث عن التطبيق [Advanced Rest Client]:
![]() |
- سيكون التطبيق متاحًا للتنزيل:
![]() |
- للحصول عليه، سيتعين عليك إنشاء حساب Google. يطلب [Google Web Store] بعد ذلك تأكيدًا [1]:
![]() |
- في [2]، الملحق المضاف متاح في الخيار [Applications] [3]. يظهر هذا الخيار في كل علامة تبويب جديدة تنشئها (CTRL-T) في المتصفح.
22.6. إدارة jSON في Java
بشكل شف للمطور، يستخدم إطار العمل [Spring MVC] مكتبة jSON [Jackson]. لتوضيح ماهية jSON (JavaScript Object Notation)، نقدم هنا برنامجًا يقوم بتسلسل الكائنات في jSON ويقوم بالعكس عن طريق فك تسلسل سلاسل jSON التي تم إنتاجها لإعادة إنشاء الكائنات الأولية.
تسمح مكتبة "Jackson" بإنشاء:
- سلسلة jSON لكائن: new ObjectMapper().writeValueAsString(object)؛
- كائن من سلسلة jSON: new ObjectMapper().readValue(jsonString, Object.class).
من المحتمل أن تطلق كلتا الطريقتين IOException. فيما يلي مثال على ذلك.
المشروع أعلاه هو مشروع Maven يحتوي على الملف [pom.xml] التالي؛
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>istia.st.pam</groupId>
<artifactId>json</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
- الأسطر 12-16: التبعية التي تستدعي مكتبة «Jackson»؛
الفئة [Personne] هي كما يلي:
package istia.st.json;
public class Personne {
// البيانات
private String nom;
private String prenom;
private int age;
// الشركات المصنعة
public Personne() {
}
public Personne(String nom, String prénom, int âge) {
this.nom = nom;
this.prenom = prénom;
this.age = âge;
}
// التوقيع
public String toString() {
return String.format("Personne[%s, %s, %d]", nom, prenom, age);
}
// المُستردات والمُعيّنات
...
}
الفئة [Main] هي التالية:
package istia.st.json;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Main {
// أداة التسلسل/إلغاء التسلسل
static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
// إنشاء شخص
Personne paul = new Personne("Denis", "Paul", 40);
// العرض jSON
String json = mapper.writeValueAsString(paul);
System.out.println("Json=" + json);
// إنشاء مثيل Personne من Json
Personne p = mapper.readValue(json, Personne.class);
// عرض الشخص
System.out.println("Personne=" + p);
// جدول
Personne virginie = new Personne("Radot", "Virginie", 20);
Personne[] personnes = new Personne[]{paul, virginie};
// عرض Json
json = mapper.writeValueAsString(personnes);
System.out.println("Json personnes=" + json);
// قاموس
Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
hpersonnes.put("1", paul);
hpersonnes.put("2", virginie);
// عرض Json
json = mapper.writeValueAsString(hpersonnes);
System.out.println("Json hpersonnes=" + json);
}
}
يؤدي تنفيذ هذه الفئة إلى عرض الشاشة التالية:
من المثال، نستخلص ما يلي:
- الكائن [ObjectMapper] الضروري للتحويلات jSON / الكائن: السطر 11؛
- التحويل [Personne] --> jSON: السطر 17؛
- التحويل jSON --> [Personne]: السطر 20؛
- الاستثناء [IOException] الذي أطلقته الطريقتان: السطر 13.
22.7. تثبيت [WampServer]
[WampServer] هو مجموعة برامج للتطوير في PHP / MySQL / Apache على جهاز يعمل بنظام Windows. سنستخدمه فقط لـ SGBD MySQL.
![]() |
- على موقع [WampServer] [1]، اختر الإصدار المناسب [2]،
- الملف القابل للتنفيذ الذي تم تنزيله هو أداة تثبيت. يتم طلب معلومات متنوعة أثناء التثبيت. وهي لا تتعلق بـ MySQL. لذا يمكن تجاهلها. تظهر نافذة [3] في نهاية التثبيت. قم بتشغيل [WampServer]،
![]() |
- في [4]، يتم تثبيت رمز [WampServer] في شريط المهام أسفل يمين الشاشة [4]،
- وعند النقر عليها، تظهر القائمة [5]. وهي تتيح إدارة خادم Apache و SGBD MySQL. لإدارة هذا الخادم، نستخدم الخيار [PhpPmyAdmin]،
- ثم تظهر النافذة أدناه،

لن نقدم سوى القليل من التفاصيل حول استخدام [PhpMyAdmin]. نعرض في الفقرة 6.4.2 كيفية استخدامه لإنشاء قاعدة بيانات من نص برمجي SQL.






























