Учитывая, что я недавно узнал о разработке распределенного проекта, я расскажу о фактическом развитии использования INTELLIJ Idea для создания многомодульных проектов, основанных на Maven. Там могут быть неуместные аспекты, но проект может быть проведен. Пожалуйста, выдвиньте все недостатки и обсудите их вместе.
Во -первых, давайте покажем каталог проекта финального проекта:
Краткое введение в структуру каталога:
common-parent является родительским проектом всех проектов, в основном используемых для управления пакетами JAR и их версиями, используемыми всеми проектами.
common-utils -это публичный проект класса инструментов, наследующий родительский проект, и он будет помечен как пакет JAR для использования другими проектами.
taotao-manager -это проект, который наследует от нашего родительского проекта.
taotao-manager-pojo является подмодулем нашего собственного проекта, который зависит от Taotao-Manager и разделен на пакеты JAR.
taotao-manager-mapper является подмодулем нашего собственного проекта, и это зависит от Taota-Manager-Pojo и разделен на пакеты JAR.
taotao-manager-service является подмодулем нашего собственного проекта, и это зависит от Taota-Manager-Mapper и превращается в пакет JAR.
taotao-manager-web является подмодулем нашего собственного проекта, и это зависит от Taota-Manager-Service и объединяется в военный пакет.
Ниже приведены конкретные операции:
1. Первый открытый интеллект идеи и выполните следующие шаги:
Или открытая идея впервые,
2. Перейдите в каталог создания и выберите пустой проект, затем
3. Перейдите на новую страницу проекта, заполните имя проекта, выберите местонахождение проекта и нажмите «Закончить»
Подождите, пока идея загрузится и перейти к следующему шагу
4. Выберите «Файл»> «Новый> Модуль» и введите страницу нового модуля:
5. На странице нового модуля выполните следующие шаги:
6. Заполните имя организации и название проекта, а также номер версии
7. Настройте файлы конфигурации локального каталога Maven и Maven Repository
8. Последний шаг в создании родительского проекта, назовите модуль, выберите рабочий каталог и выберите Complete
Дождитесь генерации файла POM, обратите внимание, что метод упаковки должен быть изменен как POM. Измените файл POM следующим образом: (Поскольку файл POM длинный, дается только часть, и все получают, пожалуйста, обратите внимание на GitHub)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <dolidyversion> 4.0.0 </modelversion> <groupid> cn.william </GroupId> <Artifactid> Common-parent </artifactid> <версия> 1.0-snapshot </версия> <пакета> pom </artifactid> <версия> 1.0-snapshot </версия> <пакета> pom </! <mame> Commonparent </name> <URL> http://maven.apache.org </url> <!-Центральное определение версии зависимости Номер версии зависимости-> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceending> <jun.version> 4.12 </project.version>/vportion>/juild.cerision> ... vpro <deperencymanagement> <dependencies> <!-Компонент операции по времени-> <Dependency> <groupId> Joda-Time </GroupID> <ArtifactId> joda-time </artifactid> <sersion> $ {joda-time.version} </version> </degifactid> ... (опущено) </veumbindmange> <buld> <ficure> $ {project.ArtiD {Project.ArtiD {project.ArtId {Project.ArtId <!-Плагин копирования файла ресурса-> <blicin> <groupid> org.apache.maven.plugins </groupid> <ratifactid> maven-resources-plugin </artifactid> <seriate> 2.7 </version> <configuration> <concoding> utf-8 </incoding> </configuration> </plugin> <! <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build></project> Во-первых, общедоступный класс инструментов унаследован от родительского проекта Common-Parent.
Обратите внимание, что для того, чтобы проект появлялся в качестве подмодуля (аналогично разработке в Eclipse), есть шаг, чтобы отметить, что при создании общих умов:
Обратите особое внимание на следующий шаг, этот шаг повлияет на структуру каталогов.
Также обратите внимание, что метод пакета проекта - JAR, который отличается от родительского проекта.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactid> commonparent </artifactid> <groupid> cn.william </GroupId> <serview> 1.0-snapshot </version> <delfivePath> ../ common-parent/pom.x.xml </version> <derivativepath> ../ common-parent/pom.x.xml </veriation> <ditivepath> ..//pom.x.xmal </vervation> <derianpath> ../ parent/pom.x.x. <dolidyVersion> 4.0.0 </modelVersion> <ratifactId> Common-Utils </artifactid> <badaging> jar </упаковка> <!-до jar package-> <mame> common-utils </name> <url> http://maven.apache.org </url> <properties> http://maven.apache.org <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- Dependencies of jar package--> <dependencies> <!-- Time Operation Component--> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> </dependency> ...(omitted) </dependencies></project>
Создать проект разработки Taotao-Manager. Шаги создания такие же, как и выше. Он также наследует общего родителя и изменяет свой файл POM. Детали следующие:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactid> commonparent </artifactid> <groupid> cn.william </GroupId> <serview> 1.0-snapshot </version> <delfivePath> ../ common-parent/pom.x.xml </version> <derivativepath> ../ common-parent/pom.x.xml </veriation> <ditivepath> ..//pom.x.xmal </vervation> <derianpath> ../ parent/pom.x.x. <dolidyVersion> 4.0.0 </modelVersion> <ArtifactId> taotao-manager </artifactid> <url> pom </упаковка> <mame> taotao-manager </name> <url> http://maven.apache.org </url> <domules> <doolule> taotao-manager.-pojo <DOMULE> TAOTAO-MANAGER-MAPPER </MODULE> <DOMULE> TAOTAO-MANAGER-SERVICE </module> <DOMULE> TAOTAO-MANAGER-WEB </module> </modules> <properties> <project.build.sourceEncoding> utf-8 </project.build.sourceending> </housersisties> </orservity> </orservities> </-зависимость> </! <groupId> cn.william </GroupId> <ArtifactId> Common-uTils </artifactId> <sersion> 1.0-snapshot </version> </vehyederiation> </dependencies> <buld> <!-Настройка плагинов-> <blicin> <Artifactid> tomcat7-maven-plugin </artifactid> <ponfiguration> <port> 8080 </port> <thate>/</path> </configuration> </placin> </plugins> </build> </project>
Создайте подмодули, такие как Taotao-Manager-Pojo, Mapper, Service, Web и т. Д.
Щелкните правой кнопкой мыши Taotao-Manager, выберите новый, модуль,
Примечание на этом этапе, которое в отличие от создания общих работ, он должен добавить свои подмодули в каталог Taotao-Manager:
Соответствующая конфигурация Maven, сохраните по умолчанию:
Просто обратите внимание на каталог, где находится подмодуль:
Создать другие подмодулы под Taotao-Manager
Когда мы упомянули выше, мы создаем подмодуль Taotao-Manager-Pojo. Остальные три подмодуля создаются аналогично им, с небольшой разницей. При создании подмодуля Taotao-Manager-Web тип проекта Maven выбирается следующим образом:
Измените файл POM подмодуля
Упакованные методы подмодулей Pojo, Mapper и Service - это все банки, и только веб -подмодулы упакованы в виде военных пакетов.
Pojo -подмодуль, pom.xml выглядит следующим образом:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactid> taotao-manager </artifactid> <groupid> cn.william </GroupId> <serview> 1,0-snapshot </version> </parent> <DelementVers> 4.0.0 </ModelVersion> ModelVersion> ModelVersion> </modelversion> 4.0. <ratfactid> taotao-manager-pojo </artifactid> <badgaging> jar </packaging> <mame> taotao-manager-pojo </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.building.building.building.building.building. </свойства> </project>
Подмодуль Mapper зависит от подмодуля POJO. Детали pom.xml следующие:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactid> taotao-manager </artifactid> <groupid> cn.william </GroupId> <serview> 1,0-snapshot </version> </parent> <DelementVers> 4.0.0 </ModelVersion> ModelVersion> ModelVersion> </modelversion> 4.0. <ratfactid> taotao-manager-mapper </artifactid> <badgaging> jar </packaging> <mame> taotao-manager-mapper </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.building.building.building.building.building.building.building.building.building.building.build </Свойства> <Depertiencies> <!-зависимость и подмодуль POJO-> <Dependency> <groupid> cn.william </GroupId> <Artifactid> taotao-manager-pojo </artifactid> <seriation> 1.0-snapshot </version> </vehyse> <!-mybatis-> <DeygyBet> или group. <ratifactid> mybatis </artifactid> </deperency> <Dependency> <groupId> org.mybatis </GroupId> <ratifactid> mybatis-spring </artifactid> </artepact> <dehybact> <groupid> com.github.miemiedev </GroupId> <ratifactId> myBatisItaTipAtaRator. <dependency> <groupid> com.github.pageHelper </GroupId> <ArtifactId> pageHelper </artifactid> </depervice> <!-mysql-> <dehyse> <groupid> mysql </GroupId> <!-подключение к соединению-connector-java </artifactid> </regifacty> <! <groupId> com.alibaba </GroupId> <strifactId> Друид </artifactid> </dependency> </depertion> </project>
Служба подмодуля зависит от подмодуля Mapper, а детали pom.xml следующие:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactid> taotao-manager </artifactid> <groupid> cn.william </GroupId> <serview> 1,0-snapshot </version> </parent> <DelementVers> 4.0.0 </ModelVersion> ModelVersion> ModelVersion> </modelversion> 4.0. <Artifactid> taotao-manager-service </artifactid> <badgaging> jar </packaging> <mame> taotao-manager-service </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build. </properties> <dependencies> <!-- Dependencies and mapper submodules--> <dependency> <groupId>cn.william</groupId> <artifactId>taotao-manager-mapper</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <StrifactId> Spring-Context </artifactId> </deperency> <Dependency> <groupid> org.springframework </GroupId> <strifactid> Spring-beans </artifactid> </vehyse> ... (опущено) </degestients> </project>
Веб -подмодуль зависит от подмодуля службы, детали pom.xml следующие:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <parent> <artifactid> taotao-manager </artifactid> <groupid> cn.william </GroupId> <serview> 1.0-snapshot </version> </parent> <dellovereversion> 4.0.0 </modelverser> 1.0-snapshot </version> </parent> <delliangure> 4.0.0 </modelversion>. <ratfactid> taotao-manager-web </artifactid> <badgaging> War </packaging> <!-Part in War Package-> <mame> taotao-manager-web maven webapp </name> <url> http://maven.apache.org </url> <Зависимость> <! <groupId> cn.william </GroupId> <StrifactId> taotao-manager-service </artifactid> <sersive> 1.0-snapshot </version> </degency> ... (пропущено) </dependencies> <buld> <finalname> taotao-manager-web </finalname> </build> </project> </project>
Создать index.jsp
На этом этапе создание проекта было завершено. Мы можем создать index.jsp в каталоге WebApp от Taotao-Manager-Web. Детали следующие:
Использование плагина Tomcat
Мы используем плагин Maven's Tomcat для запуска проекта. Перед этим обязательно настройте плагин Tomcat в файле POM Taotao-Manager:
... (опущен)
Настройте плагин Maven Tomcat для запуска веб -проектов
(1) Добавить новую конфигурацию
(2) Нажмите «Запустить» или нажмите отладку рядом с ним
(3) Ошибка.
Произошла ошибка, которая может заключаться в том, что в локальном репозитории не были установлены общие родители и общие умы. Произошла ошибка, заключается в том, что пакет JAR Common-Outils не может быть найден, поэтому нам нужно его установить.
Ожидание, чтобы установить пакет JAR в локальный репозиторий, он немного медленный, может быть, будьте терпеливы, подождите. Полем Полем
После завершения установки запустите снова, и следующая информация, по -видимому, доказывает, что операция успешна:
Доступ через браузер:
На данный момент наша проектная среда была успешно построена, и следующим шагом является фактическая разработка проекта.
заявление:
① Относительно пропущенной части в приведенном выше коде, это потому, что контент слишком длинный, поэтому оно опущено. Если вы хотите просмотреть завершенный проект, проверьте мой GitHub, адрес:
https://github.com/williamhappy/tao-shopping-mall
② Пожалуйста, подтвердите любые недостатки выше. В конце концов, моя технология ограничена, и я также нахожусь в стадии обучения. Я также могу дать разумные мнения и улучшить их вместе.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.