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