Позвольте мне начать, как вы, но я немного нахожу вещи:
.
├── modules-root
│ ├── moduleA
│ │ └── pom.xml <--- Module A POM
│ ├── moduleB
│ │ └── pom.xml <--- Module B POM
│ └── pom.xml <--- modules root
└── pom.xml <--- project-root
Начнем с project-root
, который будет выглядеть следующим образом:
4.0.0
org.test
project-root
pom
1.0.0-SNAPSHOT
junit
junit
4.11
test
modules-root
module parent
будет выглядеть так. Я хотел бы подчеркнуть, что это содержит только ссылку на moduleA
и moduleB
и наследует от project-root
:
4.0.0
org.test
super-pom
1.0.0-SNAPSHOT
org.test.module
modules-root
pom
moduleA
moduleB
moduleA
будет выглядеть так. Обратите внимание, что это наследует от module-parent
(parent), который находится на одном уровне выше ...
4.0.0
org.test.module
module-parent
1.0.0-SNAPSHOT
moduleA
..
<....other dependencies..>
Если вы используете такую структуру, вы можете просто перейти на уровень project-root
и do:
mvn clean install
Кроме того, вы можете использовать такие вещи:
mvn -pl moduleA ...
... чтобы построить только moduleA (но оставайтесь на уровне project-root
... ).
module-parent
может выглядеть как лишний или лишний в этом примере, но если вы получите больше модулей, вы можете определить дополнительные зависимости через dependencyManagement
или изменить конфигурацию плагина через pluginManagement
, который будет (модуль А, модуль Б, ...). Если ваш проект станет больше, вы получите больше модулей-родителей параллельно ... которые содержат разные части ваших приложений ... и различные намерения, которые могут быть достигнуты с помощью этой структуры.
Еще одна вещь - упомянуть , Я изменил groupId
с org.test
на org.test.module
в родительском модуле. Это иногда полезно, если у вас есть большое количество модулей, потому что groupId
представляет структуру папок в вашем репозитории (как пакеты java в проекте Java) ... это дает вам лучший обзор ...
project-root
- это местоположение для определения общих используемых зависимостей с помощью dependencyManagement
и т. д .... и используемых плагинов, которые должны быть определены с помощью pluginManagement
... или могут использоваться maven-enforcer -plugin для определения общих правил проекта ...
Типичными сценариями такого типа структуры являются проекты Java EE или другие крупные проекты (может быть с 300 ... или 1000 модулями да, они существуют ) ...
Если вы получаете больше модулей, вы можете использовать многопоточную возможность maven и построить свой проект с помощью:
mvn -T 4 clean install
из project-root
, который уменьшает время сборки резко.
Нет, но вы можете открыть веб-сервер, например, по адресу 127.0.0.77 и использовать его, чтобы проверить, является ли URI запроса "/welcome.aspx" ... Если да, перенаправить в Google, если не загружать оригинал сайт.
127.0.0.77 mysite.com
Обязательно удвойте запись с дополнительным префиксом «www». Если вы не используете адреса, подобные «www.acme.com», не будут работать!
Вы не можете. Перенаправление требует, чтобы веб-сервер принял первый запрос и отправил обратно перенаправление. Файл "hosts" просто позволяет вам устанавливать собственные записи DNS.
Вы можете использовать директиву RedirectMatch в Apache, чтобы сделать что-то подобное.
Это довольно просто.
RedirectMatch / http://222.222.222.222/
В любом случае, я не вижу причин делать это. Разве вы не пытаетесь перехватить трафик? Есть способы получше. Для Linux-боксов в качестве маршрутизатора: iptables -j REDIRECT + Squid или Apache. Для маршрутизаторов Cisco можно использовать WCCP к кэшу или веб-серверу...
hosts файл:
1.2.3.4 google.com
1.2.3.4 - ip вашего сервера.
Запустить сценарий на сервере для перенаправления пользователей на нужный URL.