2014-02-03 3 views
0

Я новичок в Maven, обучение 101 из Sonatype из http://books.sonatype.com/mvnex-book/reference/index.htmlкак запустить подмодуль файл из командной строки Maven

Я до сих пор недоумевает по созданию Maven проектов с подмодулями. Я использую eclipse для создания проекта maven и созданного модуля под ним.

  1. Может ли проект maven иметь исходный код или просто файл POM и исходный код в модулях?
  2. Я знаю, что я могу запустить Maven с помощью следующей команды, если нет модуля, и если все существует в Maven проект

    mvn exec:java -Dexec.mainClass="hello1" 
    
  3. В моем случае, когда у меня есть Maven проект и подмодулях:

    • Где должен существовать основной метод? в основном проекте или модуле?
    • Какова должна быть команда для выполнения этого основного метода?
    • Каковы должны быть изменения в pom.xml (и других конфигурациях), если этот основной метод должен вызывать методы в других модулях maven? Должен ли я указывать зависимость от других банок или там больше?

Я, кажется, заблудились с этими основными вопросами. Я использую eclipse с плагином m2e и maven 3.X.

ответ

1

Re 1) Я не знаю, невозможно ли иметь исходный код в реакторе/родительском проекте, но это не является обычным явлением. По крайней мере, я никогда не видел многомодульный проект с кодом в родительском. В главе 6 учебного пособия, в котором вы ссылаетесь, также описывается родительский объект только для POM и указывается, что соответствующий тип упаковки будет «POM».

Re 2/3) Каждый модуль может иметь нулевой или много классов, реализующих метод Main. Если для одного модуля требуется другой модуль для запуска, то да, вы объявляете это как зависимость в модуле POM. Для запуска модуля вам сначала нужно запустить цель install цели реактора/родителя. Затем вы можете вызвать цель exec в модуле, который вы хотите запустить.

Сказав это. Когда вы работаете с Eclipse, вам не нужно ничего делать, если у вас установлен плагин m2e. Если вы загрузили версию Eclipse J2EE, она уже установлена. Плагин m2e будет динамически строить путь сборки/путь к классам Eclipse ваших модулей на основе информации о зависимостях внутри ваших POM. Вы можете просто щелкнуть правой кнопкой мыши любой класс с помощью метода Main и запустить его как приложение Java.

+0

Ральф-спасибо .. это становится ясным. Я читал больше, имея единственную банку (со сборкой) - это правильный способ создать единую банку (с флагами подмодулей) и использовать эту банку. Как бы я 1) создать assembly.xml в eclipse; скопировать его где-нибудь из Интернета или ...? 2) могу ли я использовать exec на банке, который был создан с использованием выше сборки 3) на рынке затмения я вижу так много инструментов maven; Является ли J2ee/eclipse достаточным для интеграции maven или рекомендую какой-либо другой инструмент на рынке для проекта с несколькими модулями в eclipse. –

+0

Мне неизвестно мастера создания файлов assembly.xml. Но есть примеры в Интернете, которые вы можете использовать в качестве отправной точки. Просто загрузите и используйте «Eclipse IDE для разработчиков Java EE», и все вы настроены. По крайней мере, для ваших основных потребностей. – Ralf

Смежные вопросы