M2E удаляет мой исходный каталог?

У меня есть существующая библиотека, которую я создаю в Eclipse, и я добавил в свой проект природу Maven, используя m2e для добавления зависимостей. Когда я конвертирую его в проект Maven, мой существующий исходный каталог (и моя корзина) становятся обычными папками. Есть причина для этого? Я новичок в Maven, поэтому я, вероятно, делаю что-то не так, просто не знаю, что...

Структура моего проекта выглядит следующим образом:

workspace
  project
    src (in build path)
    resources (in build path)
    bin (output dir)

Я пробовал как «mvn eclipse: eclipse», так и щелкнул правой кнопкой мыши по проекту -> «Настроить» -> «Преобразовать в проект Maven», и оба удалили мои папки src и resources из моего пути сборки, а после изменения структуры на приведенную ниже изменил вывод на цель/тест-кейсы. Даже если я вручную изменю путь сборки и выходные данные, мои зависимости не разрешатся.

workspace
  project
    src (no longer in build path)
    resources (no longer in build path)
    bin  (no longer output)
    target (new output dir)
      test-cases (empty)

person Benny    schedule 21.04.2012    source источник


Ответы (1)


Я думаю, что у вас есть следующая структура при работе с Eclipse (без Maven):

/workspace
  /project1
    .project
    /src
    /bin

Но Maven хочет использовать следующую структуру

/workspace
  /project1
     .project
     pom.xml
     /src
        /main
           /java
           /resources
        /test
           /java
     /target
        /classes
        /test-classes

и так далее. Так что это нормально, что папка src больше не является исходной папкой для Eclipse, но теперь есть src/main/java, src/main/resources, ...

Так что вначале было бы проще начать с нового проекта Maven и переместить ваши исходные коды в каталоги, которым они должны принадлежать. Maven имеет давнюю традицию с его «соглашением о конфигурации», от которого можно отклониться. Посмотрите ответ на "Обработка нетрадиционного исходного каталога ...", чтобы исправить это.

person mliebelt    schedule 21.04.2012
comment
Проблема в том, что это уже находится в системе контроля версий, поэтому создание совершенно нового проекта будет довольно громоздким. Есть ли способ установить вещи на место? - person Benny; 21.04.2012
comment
Нельзя ли переместить папку/файлы в новую папку и т. д. и перенести старую структуру в новую? - person khmarbaise; 21.04.2012
comment
Итак, я попробовал как mvn eclipse:eclipse, так и Configure -> Convert to Maven... и оба оставили мой проект без исходных папок. Даже если я добавлю их вручную, мои ссылки Maven не будут разрешаться (например, log4j). Любые идеи? - person Benny; 22.04.2012