JAR vs WAR
JAR و WAR دو نوع آرشیو فایل هستند. به عبارت صحیح تر، یک فایل WAR نیز یک فایل JAR است، اما آنها برای اهداف مختلف استفاده می شوند. فایل های JAR مانند فایل های ZIP شناخته شده هستند. آنها را می توان برای هر بایگانی با هدف عمومی استفاده کرد، اما محبوب ترین استفاده از فایل های JAR استفاده از آنها به عنوان کانتینر برای فایل های کلاس جاوا و فایل های منبعی است که یک برنامه جاوا را تشکیل می دهند. فایل های WAR به طور خاص برای استقرار برنامه های کاربردی وب استفاده می شوند.
JAR چیست؟
JAR (Java ARchive) یک آرشیو فایل است که بسیاری از فایل های دیگر را حمل می کند. فایلهای JAR معمولاً توسط توسعهدهندگان جاوا برای توزیع برنامههای کاربردی جاوا یا کتابخانههای جاوا با استفاده از فایلهای JAR بهعنوان محفظههایی برای فایلهای کلاس جاوا و فایلهای منبع مربوطه استفاده میشوند.ه. متن، صوتی، تصویری و غیره). فرمت شناخته شده آرشیو فایل ZIP مبنایی است که فایل JAR بر اساس آن ساخته شده است. کاربران می توانند از دستور jar JDK (کیت توسعه جاوا) یا نرم افزار ZIP معمولی برای استخراج محتویات فایل های JAR استفاده کنند. فایلهای JAR یک روش بسیار راحت برای دانلود کل یک برنامه وب در یک فایل واحد هستند، بدون اینکه نیازی به دانلود همه فایلهایی که برنامه وب را تشکیل میدهند به طور جداگانه. به منظور خواندن/نوشتن فایل های JAR، توسعه دهندگان جاوا از کلاس های موجود در بسته java.util.zip استفاده می کنند. اگر قرار باشد فایل JAR به عنوان یک برنامه مستقل اجرا شود، یکی از کلاس ها به عنوان کلاس اصلی در ورودی های فایل مانیفست مشخص می شود. فایلهای JAR قابل اجرا را میتوان با استفاده از دستور java با ویژگی jar (یعنی java -jar foo.jar) اجرا کرد.
WAR چیست؟
WAR (بایگانی برنامه های وب) یک فایل JAR است که به عنوان یک محفظه برای گروهی از فایل های منبع برنامه های کاربردی وب (که یک برنامه وب را تشکیل می دهند) مانند JSP (صفحات سرور جاوا)، سرولت ها، فایل های کلاس، XML استفاده می شود. فایل ها و صفحات وب (HTML).فایل های WAR با پسوند فایل.war خود شناسایی می شوند. آنها توسط Sun Microsystems (توسعه دهندگان اصلی زبان برنامه نویسی جاوا) توسعه یافته اند. امضای دیجیتالی مورد استفاده در فایلهای JAR (برای واگذاری کد) میتواند در فایلهای WAR نیز استفاده شود.
یک فایل WAR به صورت داخلی در سلسله مراتبی از دایرکتوری های خاص سازماندهی شده است. ساختار برنامه وب موجود در فایل WAR در فایل web.xml (که در داخل پوشه /WEB-INF قرار دارد) تعریف شده است. Web.xml همچنین توضیح می دهد که کدام URL با کدام سرورلت متصل است. آنها همچنین متغیرهایی را که در داخل سرور قابل دسترسی هستند و وابستگی هایی که باید تنظیم شوند را تعریف می کنند. با این حال، اگر فایل WAR فقط حاوی فایلهای JSP باشد، فایل web.xml اختیاری است.
تفاوت JAR و WAR چیست؟
فایلهای JAR دارای پسوند فایل jar. هستند، در حالی که فایلهای WAR پسوند.war دارند. اما، یک فایل WAR نوع خاصی از یک فایل JAR است. فایل های JAR شامل فایل های کلاس، کتابخانه ها، منابع و فایل های دارایی هستند.فایلهای WAR شامل سرولتها، صفحات JSP، صفحات HTML، کدنویسی جاوا اسکریپت هستند. فایلهای JAR برای بایگانی کل یک برنامه جاوا (رومیزی) استفاده میشوند، در حالی که فایلهای WAR برای استقرار برنامههای وب استفاده میشوند.