Sobes.tech
Back to questions
Senior
12

Чем JAR отличается от WAR?

Companies where asked
СБК ПАРУС

Answer from AI

sobes.tech AI

JAR (Java ARchive) — это архивный файл, который содержит скомпилированные классы Java и ресурсы, используемые для запуска Java-приложений или библиотек. Он предназначен для упаковки и распространения Java-кода.

WAR (Web Application Archive) — это специализированный архив, предназначенный для веб-приложений на Java. Он содержит структуру каталогов с сервлетами, JSP, файлами конфигурации (например, web.xml), статическими ресурсами (HTML, CSS, JS) и другими компонентами веб-приложения.

Основные отличия:

  • Назначение: JAR — для общего Java-кода и библиотек; WAR — для веб-приложений.
  • Структура: WAR имеет определённую структуру каталогов (WEB-INF, META-INF), JAR — более свободная.
  • Исполнение: WAR разворачивается на сервере приложений (например, Tomcat), JAR может запускаться напрямую (если содержит мейн-класс).

Пример структуры WAR:

myapp.war/
  WEB-INF/
    web.xml
    classes/
    lib/
  index.html
  styles.css

Пример запуска JAR:

java -jar myapp.jar