Подтвердить что ты не робот

Затмение Maven не добавляет зависимости

У меня есть следующий фрагмент в моем 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 dependency: tree", и он перечисляет это в порядке.

У меня нет каких-либо причудливых настроек для компиляции каких-либо 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>
4b9b3361

Ответ 1

Я просто попытался воспроизвести проблему и... не мог. Это .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? Вы можете показать свою конфигурацию?

Ответ 2

У меня была аналогичная проблема. Выполняется mvn eclipse:clean, а затем mvn eclipse:eclipse.

Ответ 3

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <ajdtVersion>none</ajdtVersion>
    </configuration>
</plugin> 

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

Ответ 4

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