Проблема Maven и Eclipse - поиск ресурсов - PullRequest
3 голосов
/ 16 февраля 2010

У меня проблема: maven ищет ресурсы в папке установки Eclipse.

Это говорит:

This file was not found: file:/C:/eclipse/eclipse/src/main/resources/config/spring/applicationContext.xml

Пока мое рабочее пространство находится в c:/Work/Core/ и внутри src/main/resources.

Существует ли какая-либо конфигурация для pom.xml, чтобы он выглядел относительно относительно своей позиции ??

РЕДАКТИРОВАТЬ # 1:

Я управляю Мейвеном из Затмения. Из командной строки компилируется без проблем.

Я пытаюсь запустить тесты Junit.

РЕДАКТИРОВАТЬ # 2:

Все зависимости, web.xml, ... в порядке - я знаю это, потому что те же файлы, которые другие разработчики используют в Linux и с Idea, и там проект работает без проблем. С моими настройками проекта тесты junit не работают, компиляция файлов wsdl не работает - оба потому, что не могут найти ресурсы.

РЕДАКТИРОВАТЬ # 3:

Нашел ответ - он размещен здесь внизу.

Ответы [ 6 ]

6 голосов
/ 18 февраля 2010

Понятно ... Наконец-то ... я не знаю почему, но Eclipse просто не обновляет свои настройки из Mavens.

Мне пришлось изменить .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java"/>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

В четвертой строке excluding="**" - я убрал это, и это сработало.

После этого у меня тоже были проблемы с названием проекта. В pom.xml было

<groupId>core-maven</groupId>
<artifactId>core-maven</artifactId>

и в теге сборки <finalName>core-maven</finalName>, который я хотел изменить только в «core», но он не работал, пока я не нашел его и не заменил в файлах в папке .settings.

1 голос
/ 24 февраля 2010

У меня были похожие проблемы несколько недель назад. Я изменил classpath, чтобы заставить вещи работать, но это не совсем исправление, а только обходной путь, поэтому я не был очень рад этому.

Через некоторое время коллега порекомендовал SpringSource Tool Suite (sts) http://www.springsource.com/products/sts

Это среда разработки на основе Eclipse от SpringSource, с гораздо лучшей поддержкой Maven. Так как я сделал переключатель, все работает отлично. И поскольку он основан на Eclipse, мне не пришлось изучать совершенно новую IDE, и все, что работает для Eclipse, работает для STS

1 голос
/ 16 февраля 2010

У вас проблема где-то с вашей конфигурацией. Сделайте некоторую очистку и начните снова.

  • Очистите рабочее пространство: удалите проект и его файлы в файловой системе (сначала убедитесь, что все находится под контролем версий), удалите существующие "Maven Build" Запустите конфигурации.
  • Оформите ваш проект где-нибудь в вашей файловой системе (не в рабочей области, это плохая практика).
  • Импорт в Eclipse ( Импорт ...> Проекты Maven ).
  • Проведите свои тесты с Maven.

P.S .: Я предполагаю, что вы используете m2eclipse, но это далеко не очевидно, вы должны дать четкую информацию о вашем контексте.

1 голос
/ 16 февраля 2010

Можем ли мы увидеть ваш web.xml? В Spring местоположение applicationContext.xml определяется в файле web.xml следующим образом:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>...</param-value>
</context-param>

(РЕДАКТИРОВАТЬ: я знаю, что компиляция с maven не будет заботиться о web.xml ... но запускать тесты jUnit это может - в зависимости от того, как они настроены.)

РЕДАКТИРОВАТЬ 2: Переключение из среды Linux в среду Windows Я мог видеть проблемы с указанием, где вещи живут. Тот факт, что он работает в одной среде, не означает, что при переключении на другую проблем не будет. Что если ваш Linux-разработчик решил сообщить Spring, что applicationContext.xml находится в / usr / local / myide / myproject / src ...? Windows просто задохнется.

0 голосов
/ 17 февраля 2010

Привлекательный способ решения проблем Maven с Eclipse - переключиться на Netbeans. Он проще в использовании и имеет встроенную поддержку проектов Maven.

0 голосов
/ 16 февраля 2010

Можете ли вы вставить то, что вы пытаетесь сделать в коде или в соответствующем разделе pom.xml?

В идеале любая ссылка на каталог в pom.xml должна относиться к расположению файла pom.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...