JavaRush /בלוג Java /Random-HE /הקמת סביבה מקומית לפיתוח Java EE
zor07
רָמָה
Санкт-Петербург

הקמת סביבה מקומית לפיתוח Java EE

פורסם בקבוצה
במאמר זה נגדיר סביבת עבודה להפעלת יישומי Java EE. הרשו לי להזכיר לכם: בחומר הקודם כיסינו את היסודות של Java EE . הגדרת סביבה מקומית לפיתוח Java EE - 1בסביבה אנו מתכוונים לקבוצה של רכיבי תוכנה שונים:
  • Java EE SDK;
  • Java EE Application Server GlassFish;
  • הגדרת IntelliJ IDEA.
המטרות העיקריות של חומר זה:
  1. הראה כיצד תוכל להכין סביבת עבודה לעבודה עם יישומי Java EE.
  2. הראה כיצד ניתן לפרוס ולהפעיל יישומי Java EE מ-IntelliJ IDEA בשרת GlassFish.
הנה מה שנעשה בשביל זה:
  1. הורד והתקן את Java EE 7 SDK.
  2. בואו נגדל את Java EE Application Server GlassFish.
  3. בואו ללמוד כיצד להפעיל ולעצור את השרת באמצעות שורת הפקודה.
  4. בואו נגדיר את IntelliJ IDEA לפרוס יישומים לשרת זה.
  5. בואו נפרוס ונפעיל את אפליקציית ההדגמה, שיחד עם שרת היישומים של GlassFish, כלולה ב-Java EE 7 SDK.
מאמר זה יהיה שימושי למפתחי Java מתחילים שמתוודעים לפיתוח ארגוני ב-Java. שקול זאת כהכנה קטנה של הקרקע לתרגול נוסף. אתה תבין את החומר אם אתה מכיר את מיומנויות שורת הפקודה הבסיסיות של Windows (PowerShell). גרסאות של רכיבי תוכנה המשמשים במאמר זה:
  • GlassFish 4.0;
  • IntelliJ IDEA 2019.3.1 (אולטימטיבי);
  • Java EE SDK 7.

התקנת Java EE SDK

תנאי חשוב. לפני התקנת ה-Java EE SDK, עליך לוודא ש-Java SE SDK מותקן מראש.
  1. ראשית, עלינו להוריד את ה-SDK. כדי לעשות זאת, אתה יכול להקליד במנוע חיפוש: "Java EE SDK 7", או ללכת ישירות לדף ההורדה של sdk מאתר אורקל.

  2. מרשימת ה-SDKs המוצגת, עליך לבחור את האחת המתאימה לפלטפורמה שלך. המאמר מתאר את התקנת ההפצה: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"

  3. הפעל את קובץ ההתקנה. במהלך ההפעלה, השגיאה הבאה עלולה להתרחש (אם היא לא מתרחשת, אז אתה יכול פשוט להמשיך בהתקנה):

    הגדרת סביבה מקומית לפיתוח Java EE - 2

    המשמעות היא שהמתקין לא הצליח למצוא את הנתיב לסביבת Java Runtime שהותקנה מראש. ניתן לתקן את השגיאה על ידי העברת הנתיב ל-JRE באופן ידני באמצעות שורת הפקודה. לשם כך, עליך להפעיל את קובץ ההתקנה באמצעות PowerShell ולהעביר את הנתיב ל-JRE המותקן מראש באמצעות הפרמטר -j.

    לדוגמה, כך:

    הגדרת סביבה מקומית לפיתוח Java EE - 3
  4. הליך ההתקנה הנוסף הוא די אופייני לרוב התוכניות. כל מה שאתה צריך לעשות הוא ללחוץ על הלחצנים הבא והתקן.

    התוכנית תתקין את ה-Java EE SDK, כמו גם את שרת GlassFish, אשר עם השלמת ההתקנה, יהיה מוכן לשימוש.

  5. כדי לוודא ששרת GlassFish פועל, לאחר השלמת ההתקנה, תוכל לפתוח את פאנל הניהול של השרת, שיהיה זמין בכתובת: http://localhost:4848/

    צילום מסך למטה:

    הגדרת סביבה מקומית לפיתוח Java EE - 4

הפעלה ועצירה של GlassFish באמצעות שורת הפקודה

אז, השרת פועל, אבל הפעלת השרת יזמה על ידי תוכנית ההתקנה. להלן ננסה להבין כיצד להפעיל ולעצור את השרת בעצמך. ראשית, בואו נחשוף ישות כזו כדומיין. תחום הוא קבוצה של מופע אחד או יותר של שרת GlassFish המנוהל על ידי שרת ניהול אחד. בעת התקנת שרת GlassFish נוצר תחום ברירת מחדל - domain1. הרכיבים הבאים משויכים אליו:
  • יציאת שרת (ברירת מחדל 8080);
  • יציאת שרת ניהול (ברירת מחדל 4848);
  • שם משתמש וסיסמה של מנהל מערכת (ברירת המחדל היא admin ולא נדרשת סיסמה כברירת מחדל).
לדומיין 1 הוקצו ערכי ברירת מחדל. הגדרת סביבה מקומית לפיתוח Java EE - 5כדי להפעיל ולעצור את השרת, הפצת GlassFish כוללת מספר סקריפטים, אשר כברירת מחדל נמצאים בספרייה הבאה: C:\glassfish4\glassfish\bin כדי להפעיל ולעצור את שרת GlassFish דרך שורת הפקודה, ניתן להשתמש בסקריפט asadmin והפקודות שלו:
asadmin start-domain domain_name
asadmin stop-domain domain_name
בואו ננסה לעצור את השרת (מכיוון שהוא כבר פועל לאחר ההתקנה) על ידי הפעלת PowerShell מספריית המשנה C:\glassfish4\glassfish\bin : הגדרת סביבה מקומית לפיתוח Java EE - 6השרת נעצר. עכשיו בואו נריץ את זה: הגדרת סביבה מקומית לפיתוח Java EE - 7

אנו מנתחים את יישום Java EE הראשון, Dukes-Age

בשלב הבא נסתכל על אפליקציית Java EE הדגמה: dukes-age. יישום זה כלול ב-Java EE SDK יחד עם יישום הכוס הראשונה. תיאורים של יישומים אלה מוצגים באתר התיעוד הרשמי של Oracle בסעיפים 3 ו-4 של קורס המבוא על Java EE למפתחי Java EE מתחילים . במאמר זה, נסתכל בקצרה על אפליקציית Dukes-Age ונבחן ביתר פירוט את תהליך השקת האפליקציה הזו בשרת GlassFish מסביבת הפיתוח IntelliJ IDEA. האפליקציה ממוקמת בתוך ספריית שרת glassfish. אם לא שינית את נתיב ברירת המחדל עבור שרת glassfish בעת התקנת ה-Java EE SDK, תוכל למצוא את היישום הזה בתיקייה: C:\glassfish4\docs\firstcup\example\dukes-age . כנראה שכל מפתח ג'אווה, מתחיל ומנוסה, ראה לפחות פעם אחת את הקמע של שפת התכנות ג'אווה - דיוק: הגדרת סביבה מקומית לפיתוח Java EE - 8מעטים יודעים שלדיוק יש יום הולדת. הוא נולד ב-23 במאי 1995, כאשר פורסמה גרסת ההדגמה הראשונה של טכנולוגיית Java. אפליקציית Dukes-age, כפי שהשם מרמז, מספקת מידע על גילו של דיוק. בואו נפתח את היישום הזה ב- IntelliJ IDEA: קובץ -> חדש -> פרויקט ממקורות קיימים... לאחר מכן עבור לתיקייה עם היישום Dukes-age, הממוקמת כברירת מחדל ב- C:\glassfish4\docs\firstcup\example\dukes- age , בחר את הקובץ pom.xml ולחץ על אישור: הגדרת סביבה מקומית לפיתוח Java EE - 9ייפתח יישום עם המבנה הבא: הגדרת סביבה מקומית לפיתוח Java EE - 10בוא נסתכל על קוד הכיתה DukesAgeResource:
package firstcup.dukesage.resource;

import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

/**
 * REST Web Service
 *
 */
@Path("dukesAge")
public class DukesAgeResource {

    /** Creates a new instance of DukesAgeResource */
    public DukesAgeResource() {
    }

    /**
     * Retrieves representation of an instance of DukesAgeResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces("text/plain")
    public String getText() {
        // Create a new Calendar for Duke's birthday
        Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
        // Create a new Calendar for today
        Calendar now = GregorianCalendar.getInstance();

        // Subtract today's year from Duke's birth year, 1995
        int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
        dukesBirthday.add(Calendar.YEAR, dukesAge);

        // If today's date is before May 23, subtract a year from Duke's age
        if (now.before(dukesBirthday)) {
            dukesAge--;
        }
        // Return a String representation of Duke's age
        return "" + dukesAge;
    }
}
זהו שירות אינטרנט JAX-RS RESTful בשיטה אחת - getText(). אם בוחנים את הקוד של שיטה זו, מתברר שהשיטה מחזירה את מספר השנים שחלפו מאז לידתו של דיוק. כלומר, השיטה מחזירה את גילו של דיוק. מחלקה היא משאב בהקשר של REST.
  1. ההערה מעל המחלקה @Path("dukesAge")מגדירה את נתיב ה-URI שאליו יעבדו שיחות על ידי מחלקה זו.
  2. ההערה מעל השיטה @GETאומרת לנו ששיטה זו מעבדת בקשות GET.
  3. ההערה @Produces("text/plain")מציינת את סוג המדיה של התגובה לבקשה. לא קשה לנחש שהשיטה getText()תייצר תגובות עם סוג מדיה: טקסט/רגיל.
בואו נסתכל גם על קובץ התצורה של web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>
בקובץ זה, בתוך התג servlet-mapping, מוגדר תג url-patternעם הערך /webapi/*. כאן מוגדרת נקודת שורש מסוימת, שאליה יעבדו השיחות הלאה על ידי השירות. אם משולבים עם ההערה @Path("dukesAge"), מתברר שכדי לקבל מידע על גילו של דיוק, עליך ליצור קשר עם הכתובת /webapi/dukesAge.

הגדרת IntelliJ IDEA להפעלת יישום Java EE על שרת GlassFish

עכשיו, כשיש לנו מושג כללי מאוד על היישום של Dukes-Age (קרא עוד על זה באתר Oracle ), בואו נגדיר את IntelliJ IDEA כך שנוכל להפעיל את היישום הזה מה-IDE שלנו. הגדרת IntelliJ IDEA
  1. לשם כך, עבור לתפריט הפעלה -> ערוך תצורות.
  2. חלונית ההפעלה/ניפוי באגים תיפתח: הגדרת סביבה מקומית לפיתוח Java EE - 11
  3. אנחנו צריכים להוסיף תצורה חדשה. כדי לעשות זאת, לחץ על סימן הפלוס, או השתמש במקש הקיצור Alt+Insert. ברשימה שנפתחת, בחר שרת GlassFish -> מקומי: הגדרת סביבה מקומית לפיתוח Java EE - 12
  4. בחלון שנפתח, נתחיל להגדיר את התצורה: הגדרת סביבה מקומית לפיתוח Java EE - 13
  5. השלב הבא הוא לציין את החפצים שיהיה צורך לפרוס לשרת. ניתן לעשות זאת דרך הכרטיסייה Deployment על ידי לחיצה על הפלוס -> Artifact... הגדרת סביבה מקומית לפיתוח Java EE - 14
  6. בחר dukes-age:war ולחץ על אישור: הגדרת סביבה מקומית לפיתוח Java EE - 15
  7. לאחר מכן, שמור את התצורה שלנו על ידי לחיצה על החל ולאחר מכן אישור.
התצורה נוצרה!

הפעלת האפליקציה

כעת ננסה להפעיל את האפליקציה.
  1. לשם כך, ניתן להשתמש במקש הקיצור Alt+Shift+F10, או דרך התפריט Run -> Run...

    ובחר את תצורת הדוכסים שיצרנו:

    הגדרת סביבה מקומית לפיתוח Java EE - 16

  2. לאחר מכן אנו רואים את יומני האתחול בחלונית השירותים:

    הגדרת סביבה מקומית לפיתוח Java EE - 17
  3. לאחר מכן, אם הכל נעשה לפי ההוראות, הדפדפן ייפתח ויתברר ששום דבר לא עובד:

    הגדרת סביבה מקומית לפיתוח Java EE - 18
כזה הוא עולם ה-IT. גם אם הכל נעשה נכון, ייתכן שמשהו לא יעבוד. אבל אל דאגה: אתה יכול מיד לתאר איך לעשות את זה נכון, אבל אז כמה מהניואנסים יהיו פחות ברורים. לדוגמה, איך נוצרת כתובת ה-URL שאליה IDEA מפנה אותנו בעת הפעלת האפליקציה? בואו נשים לב לזה. הופנו מחדש אל http://localhost:8080/dukes-age-7.0.1/ . כדי להבין מאיפה זה בא (/dukes-age-7.0.1/), הבה נעבור לפאנל הניהול של שרת GlassFish. בתפריט השמאלי, לחץ על יישומים. לאחר מכן תראה יישומים פרוסים, כולל Dukes-age. כשאתה בוחר באפליקציית Dukes-age, אתה יכול לראות כמה מהמאפיינים שלה, כולל הפריט Context-Root: הגדרת סביבה מקומית לפיתוח Java EE - 19dukes-age-7.0.1 הוא השם והגרסה של האפליקציה. נקודת שורש. כל הבקשות ש-Dukes-age יעבד חייבות להתחיל בקידומת /dukes-age-7.0.1/. אז יש לנו נקודת שורש: /dukes-age-7.0.1. כמו כן, דנו בעבר שהאפליקציה שלנו תטפל בבקשות אל /webapi/dukesAge. בואו נשלב את שני הדברים האלה ונעדכן את התצורה שלנו.
  1. לשם כך, נחזור אל IntelliJ IDEA, ולאחר מכן לתפריט: הפעלה -> ערוך תצורות...

  2. בואו נבחר את התצורה שנשמרה קודם לכן ונעדכן את כתובת האתר בהתאם לצילום המסך למטה:

    הגדרת סביבה מקומית לפיתוח Java EE - 20
  3. בואו נשמור את התצורה ונפעיל מחדש את האפליקציה שלנו באמצעות מקש הקיצור Ctrl+Shift+F10, או באמצעות כפתור מיוחד בחלונית השירותים:

    הגדרת סביבה מקומית לפיתוח Java EE - 21
  4. לאחר ההפעלה מחדש, אם הכל נעשה כהלכה, נראה את גילו של דיוק:

    Настройка локального окружения для Java EE разработки - 22
גדול. סוף סוף גילינו שדיוק בן 24. אם לא תחזור על כל השלבים שתוארו לעיל במהלך החודשיים הקרובים, החל מאפריל 2020, כנראה ש-Duke יזדקן מעט.

סיכום

במאמר זה, בדקנו כיצד תוכל להגדיר את הסביבה המקומית שלך לעבודה עם יישומי Java EE באמצעות הדוגמה של שרת GlassFish 4.0, סביבת הפיתוח IntelliJ IDEA 2019.3.1 (Ultimate), כמו גם Java EE SDK גרסה 7. בדקנו איך אתה יכול:
  • הורד והתקן Java EE SDK, כמו גם את שרת GlassFish;
  • עצור והפעל את שרת GlassFish באמצעות PowerShell;
  • הגדר את IntelliJ IDEA כך שתוכל לפרוס יישומי Java EE מה-IDE לשרת GlassFish ולהפעיל אותם מיד.

משימת בונוס

  1. חזור על כל השלבים המתוארים בעצמך.
  2. קח קורס מבוא על Java EE למפתחי Java EE מתחילים מ-Oracle .
  3. פריט עם כוכבית. נסה לפרוס את אפליקציית ההדגמה השנייה של הכוס הראשונה בעצמך. אפליקציה זו אינטראקטיבית יותר ומקיימת גם אינטראקציה עם האפליקציה של גיל הדוכס. כדי להשלים שלב זה, תצטרך להבין באופן עצמאי את השאלות הבאות:
    1. כיצד להפעיל את מסד הנתונים בתוך שרת glassFish;
    2. כיצד לשלב שני יישומים זה עם זה (בתוך הכוס הראשונה מציינים את הנתיב לנקודת הסיום של גיל הדוכסים, עליה דנו במאמר זה);
    3. כיצד ליצור תצורה חדשה ב- Intellij IDEA לפריסת הכוס הראשונה (בדומה למה שהוצג במאמר זה);
    4. אולי עוד שאלות רבות)
נ.ב. מחסום הכניסה גבוה, אבל זה לא מה שמניע אותך?
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION