Work with Maven in Java.(for students)


Work with Maven in Java For students of universities Author : Oxana Dudnik Мавен - это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации. Простые проекты можно собрать в командной строке. Если собирать большие проекты с командной строки, то команда для сборки будет очень длинной, поэтому её иногда записывают в bat/sh скрипт. Но такие скрипты зависят от платформы. Для того чтобы избавиться от этой зависимостии и упростить написание скрипта используют инструменты для сборки проекта. Lifecycle phases generate-sources: Generates any extra source code needed for the application, which is generally accomplished using the appropriate plug-ins compile: Compiles the project source code test-compile: Compiles the project unit tests test: Runs the unit tests (typically using JUnit) in the src/test directory package: Packages the compiled code in its distributable format (JAR, WAR, etc.) integration-test: Processes and deploys the package if necessary into an environment where integration tests can be run install: Installs the package into the local repository for use as a dependency in other projects on your local machine deploy: Done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects Maven & repository =Зайдите на официальный сайт мавен в раздел загрузка http://maven.apache.org/download.cgiи скачайте последнюю стабильную версию. =Распакуйте архив в инсталляционную директорию. Например в C:\Program Files\maven\ в Windows или /opt/maven в Linux =Установите переменную окружения M2_HOME: В Windows кликните правой кнопкой мыши на "мой компьютер" ->свойства->дополнительные параметры->переменные среды->системные переменные и там добавьте "M2_HOME" и " C:\Program Files\maven\" . В Linux можно добавить строку "export M2_HOME=/opt/maven"в файл /etc/profile . =Установите переменную окружения PATH В Windows в переменной PATH добавьте к списку директорий строку %M2_HOME%\bin". В Linux можно добавить строку "export PATH=$PATH:$M2_HOME/bin"в файл /etc/profile . =Проверьте корректность установки, набрав в командной строке mvn -version Давайте создадим новый проект. Для этого выполним команду: mvn archetype:generateИмпортируем проект из созданных исходников с помощью IntelliJIdea и получим проект: Стандартная структура проекта The Maven directory structure src/main/java: Your Java source code goes here (strangely enough!) src/main/resources: Other resources your application needs src/main/filters: Resource filters, in the form of properties files, which may be used to define variables only known at runtime src/main/config: Configuration files src/main/webapp: The Web application directory for a WAR project src/test/java: Unit tests src/test/resources: Resources to be used for unit tests, but will not be deployed src/test/filters: Resources filters to be used for unit tests, but will not be deployed src/site: Files used to generate the Maven project Website Главный файл Maven – pom.xml 4.0.0 com.javaworld.hotels HotelDatabase war 1.0-SNAPSHOT Maven Quick Start Archetype http://maven.apache.org junit junit 3.8.1 test Dependency scopes compile: A compile-scope dependency is available in all phases. This is the default value. provided: A provided dependency is used to compile the application, but will not be deployed. You would use this scope when you expect the JDK or application server to provide the JAR. The servlet APIs are a good example. runtime: Runtime-scope dependencies are not needed for compilation, only for execution, such as JDBC (Java Database Connectivity) drivers. test: Test-scope dependencies are needed only to compile and run tests (JUnit, for example). Создадим web-приоожение, в котором будет 2 модуля:HotelDatabase и HotelWebAppA business logic component: HotelDatabase.jarA Web application component: HotelWebApp.war First web-application by Maven Отредактируем конфигурацию Запустим JBOSS -server Server запустился, компоненты задеплоились: А теперь запустим приложение Literature http://tutorials.jenkov.com/maven/maven-tutorial.html http://www.javatpoint.com/maven-tutorial http://www.apache-maven.ru/ https://www.youtube.com/watch?v=HKAq5NY9N_w