2010-02-16 4 views
3

У меня проблема, что maven ищет ресурсы внутри папки установки Eclipse.Проблема с 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, чтобы заказать ее относительно своего положения ???

EDIT # 1:

Я бегу Maven из Eclipse. Из командной строки он компилируется без проблем.

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

EDIT # 2:

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

EDIT # 3:

Найденный ответ - она ​​размещена здесь вниз.

+0

Вы добавили зависимость для junit? Вы создали приложение весны с maven? или это проект maven или java? самое лучшее, что нужно сделать, это выбрать источник света из архипайпа .. см. это http://docs.codehaus.org/display/MAVENUSER/Archetypes+List – ant

ответ

6

Получил это ... Наконец .. Я не знаю почему, но 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>, который я хотел изменить в только «ядро», но он не работал, пока я не нашел его и замените в файлах в папке .settings.

+0

Yep - спасибо, это было! – Bostone

+0

Где находится этот файл? – Robert

+0

В корневой директории проекта, если у вас есть проект «Проект», перейдите в эту папку, и вы увидите ее. Это та же папка, где находится папка «.settings». – Trick

0

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

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

1

Можем ли мы также увидеть ваш web.xml? С весной, место applicationContext.xml определяется в web.xml с чем-то вроде:

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

(EDIT: Я знаю компиляции с Maven не будет заботиться о web.xml ... но ходовых испытаний JUnit он может - в зависимости от того, как настроены тесты.)

EDIT 2: Переключение из среды linux в среду Windows Я видел проблемы с указанием, где живут вещи. Просто потому, что он работает в одной среде, не означает, что при переключении на другой проблем не будет. Что делать, если ваш linux dev решил рассказать весне, что applicationContext.xml живет в/usr/local/myide/myproject/src ...? Windows просто задохнется.

+0

Я знал, что будут проблемы :) Я не могу найти решение ... I просто подумайте, что нет проблем с pom.xml и web.xml. – Trick

+0

Это не имеет ничего общего с модульным тестированием. –

+0

Он имеет отношение к модульному тестированию, если вы пытаетесь инициализировать Spring WebApplicationContext в тестах. Весна имеет специализированные методы для тестирования, такие как SpringJUnit4ClassRunner.class – Quotidian

1

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

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

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

+0

Я думаю, это единственное, что чувствовалось ... Попробуй сейчас. – Trick

-3

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

+0

Ох ... Netbeans ... Пять или шесть лет назад это была очень плохая среда IDE. Теперь это лучше? В этом духе я мог переключиться на IDEA, потому что я знаю, что он работает там. – Trick

+1

Из того, что я понимаю, Netbeans значительно улучшилось с тех пор (особенно с точки зрения его производительности). Его чистая интеграция с Maven - причина, по которой я перешел от Eclipse для большинства проектов. – Daniel

+2

Это не имеет значения. Вопрос в том, что касается Eclipse, и на него следует ответить как таковой. – Bostone

1

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

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

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

+0

+1 При поиске решения я также нашел эту IDE. Я планирую проверить его в ближайшем будущем. Спасибо за информацию! – Trick

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