2014-02-17 4 views
2

Я использую Eclipse Kepler и Apache Maven 3.1.1. Насколько я знаю, я только что установил оба и сделал это правильно.Проект Eclipse не может найти «org.joda»

Я пытаюсь установить время Joda из репозитория Maven. Я добавил зависимости к pom.xml, но мой проект не может разрешить библиотеки joda даже с чистой установкой maven.

Мой репозиторий расположен по адресу USER_FOLDER/.m2/repository /. После того, как я перейду к папке проекта в командной строке и запустим «mvn clean», появится папка joda-времени и ее содержимое, а затем «mvn install».

В моем проекте Eclipse я не изменил пути сборки или другие параметры проекта.

Интеграция Eclipse Maven установлена.

Я после этого учебника найти на сайте Spring: http://spring.io/guides/gs/maven/

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

USER 
|____ .m2 
| |____ repository 
|   |____ joda-time [and other folders such as org] 
|    |____ joda-time 
|     |____ 2.3 
|      |____ _remote.repositories 
|      |____ joda-time-2.3.jar 
|      |____ joda-time-2.3.jar.sha1 
|      |____ joda-time-2.3.pom 
|      |____ joda-time-2.3.pom.sha1 
|____ workspace 
| |____ hello 
| | |____ [project files] 
| | |____ pom.xml 
| | |____ dependency-reduced-pom.xml 
| | |____ target 
| |   |____ [compiled files. Nothing related to Joda, though] 
| |____ .metadata [with .plugins folder and others] 

Вот мой pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>org.springframework</groupId> 
<artifactId>gs-maven</artifactId> 
<packaging>jar</packaging> 
<version>0.1.0</version> 

<dependencies> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.3</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.1</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <transformers> 
          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
           <mainClass>main.java.hello.HelloWorld</mainClass> 
          </transformer> 
         </transformers> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
</project> 

Вот мой главный файл HelloWorld.java. В строке импорта появляется сообщение об ошибке «Импорт org.joda не может быть разрешен».

package main.java.hello; 

import org.joda.time.LocalTime; 

public class HelloWorld { 
    public static void main(String[] args) { 
     LocalTime currentTime = new LocalTime(); 
    } 
} 
+0

Вы уверены, что ваш проект Eclipse на самом деле использует m2e? Щелкните правой кнопкой мыши проект и посмотрите, есть ли в нем подменю «Maven>» или опция «добавить природу Maven». – chrylis

ответ

1
mvn eclipse:eclipse 

также требуется для создания файлов проекта, который включает в себя .classpath для затмения.

+0

Это не требуется, если OP использует m2eclipse, что он указывает на то, что он есть. – chrylis

+0

Это то, чего мне не хватало, я думаю! Однако теперь я получаю сообщение об ошибке «Ошибка: не удалось найти или загрузить основной класс main.java.hello.HelloWorld», когда я пытаюсь запустить проект. Это происходит, если я установил в моем файле pom mainClass как «hello.HelloWorld» или «main.java.hello.HelloWorld». @chrylis. Я пошел в Help >> Install New Software и использовал ссылку «http://download.eclipse.org/technology/m2e/releases» для этого пути. Я попытался установить плагины, которые были перечислены, но они уже были установлены с загрузкой Kepler. –

+0

У вас есть Кеплер, почему бы не пойти на рынок затмений. Это под опцией help по названию рынка eclipse. –

0

Некоторые вещи, чтобы попробовать.

Есть ли какие-либо ошибки Maven, перечисленные в представлении «Маркеры»? (Кроме недостающего импорта, конечно). Часто причиной этой проблемы может быть неправильная конфигурация Maven.

Если нет, попробуйте одно из следующих действий:

  1. правой кнопкой мыши проект и выберите Maven-> Project Update.

  2. Restart Eclipse.

  3. Удалите ошибки, закройте и запустите «mvn clean compile» из командной строки. Запустите Eclipse, щелкните правой кнопкой мыши свой проект и «Обновить».

  4. Удалите ошибки, закройте, удалите все в своем репозитории m2 и запустите «mvn clean compile» из командной строки. tart Eclipse, щелкните правой кнопкой мыши ваш проект и «Обновить»

  5. Жертвоприношение 50 быков лорду Затмение. Иногда это единственный курорт. Мне это не нравится, но альтернатива - выложить доллары для Intellij.

+0

Означает ли это что-нибудь, если я нажму правой кнопкой мыши на проекте, и я НЕ вижу упоминания о Maven? –

+0

Вам нужно добавить природу Maven в свой проект. Щелкните правой кнопкой мыши свой проект, выберите «Настроить-> Преобразовать в проект Maven» – cuttcards

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