Maven Eclipse не добавляет зависимости - PullRequest
10 голосов
/ 30 марта 2010

У меня есть следующий фрагмент в моем pom.xml (полный pom прикреплен ниже, который может быть выполнен)

<dependency>
    <groupId>aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.5.3</version>
</dependency>

и в одном из моих файлов Java я ссылаюсь на класс org.aspectj.lang.ProceedingJoinPoint. Когда я делаю "mvn clean install", он компилируется и собирается нормально, но когда я делаю eclipse: eclipse и импортирую проект в eclipse, он выдает ошибку The import org.aspectj cannot be resolved. Я проверил сгенерированный файл .classpath, в котором нет записи в этом файле. Я попытался "mvn зависимость: дерево", и это перечисляет это хорошо.

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

Может кто-нибудь сказать мне, что здесь происходит не так?

ОБНОВЛЕНИЕ 1: я использую плагин maven eclipse Версия: 2.7

ОБНОВЛЕНИЕ 2: просто используйте pom ниже и введите mvn eclipse:clean eclipse:eclipse из командной строки

<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>com.ekanathk</groupId>
    <artifactId>stackoverflow</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.3</version>
        </dependency>
    </dependencies>
</project>

Ответы [ 4 ]

8 голосов
/ 30 марта 2010

У меня была похожая проблема. Помогло выполнение mvn eclipse:clean, а затем mvn eclipse:eclipse.

7 голосов
/ 30 марта 2010

У меня была похожая проблема. Плагин Eclipse для Maven предполагает, что Eclipse имеет собственную поддержку AspectJ. Поэтому вы должны сказать, что у вас его нет (или сказать, какая у вас версия). Добавление

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <ajdtVersion>none</ajdtVersion>
    </configuration>
</plugin> 
Раздел от

до <build> <plugins> должен помочь.

4 голосов
/ 30 марта 2010

Я просто попытался воспроизвести проблему и ... не смог. Это .classpath, которое я получаю после добавления зависимости aspectj: aspectjrt: jar: 1.5.3 к вновь созданному проекту:

<classpath>
  <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
  <classpathentry kind="output" path="target/classes"/>
  <classpathentry kind="var" path="M2_REPO/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.jar">
    <attributes>
      <attribute value="jar:file:/home/pascal/.m2/repository/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3-javadoc.jar!/" name="javadoc_location"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>

Какую версию плагина maven eclipse вы используете? Вы настроили его для использования AJDT? Можете ли вы показать свою конфигурацию?

1 голос
/ 30 марта 2010

Вы пытались использовать m2eclipse вместо этого?В моем опыте это приводит к гораздо лучшим результатам.

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