Что значит "Mavenize" проекта?
Недавно меня попросили ошеломить существующий проект, и я точно не знаю, что это значит. На веб-сайте maven он описывает, как создать проект maven с нуля, но что, если у меня уже есть значительный код?
Мне комфортно работать в командной строке или в Eclipse/Netbeans. Я знаю, что есть много плагинов для 2 IDE, которые делают это проще, но я не знаю, с чего начать.
Есть ли что-то еще, чем просто писать файл pom со всеми зависимостями в нем?
Ответы
Ответ 1
"Mavenize" просто означает писать POM (и, возможно, перемещать код вокруг), чтобы он строился в Maven.
Часто самый простой способ сделать это - немного изменить структуру кода, чтобы он соответствовал соглашениям Maven (например, переместить "источники" в "src/main/java" и явно разделить отдельные модули). Вы можете игнорировать соглашения и рассказывать Maven, как вы храните свои классы и т.д., Но в целом небольшая часть боли впереди, чтобы заставить большую часть Maven работать "из коробки" стоит инвестировать.
Скорее всего, подавляющее большинство вашего файла Ant (или подобного) является шаблоном, что в первую очередь было идеей Maven. Тем не менее, там может быть какой-то на заказ материал (например, тестовые классы, начинающиеся с "TestIntegration", должны выполняться только на ночных сборках), которые вам нужно воспроизвести в Maven.
Но да, в общем, это означает использовать существующую функциональность сборки и воспроизвести ту же функциональность с помощью Maven.
Ответ 2
Это означает реорганизацию кода проекта и ресурсов для соответствия модели maven. Это использование "соглашения по конфигурации" позволяет стандартным инструментам maven работать на вашей кодовой базе.
Ответ 3
В дополнение к тому, что сказано.
Можно всегда преобразовать существующий проект java в проект maven с eclipse IDE, плагин m2eclipse поддерживает такую функцию или опцию, как показано ниже:
После установки плагина m2eclipse и перезапуска eclipse.
Щелкните правой кнопкой мыши проект java - "configure -" convert to maven
У вас будет сгенерированный pom для начала, почти всегда он нуждается в модификациях, чтобы соответствовать зависимостям проектов и репозиториям, если эти зависимости не находятся в центральном репо maven.