Maven eclipse不会添加依赖项

Kan*_*ath 10 java maven-2

我的pom.xml中有以下片段(下面附有完整的pom,可以执行)

<dependency>
    <groupId>aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.5.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

在我的一个Java文件中,我引用了一个类org.aspectj.lang.ProceedingJoinPoint.当我执行"mvn clean install"时,它编译并构建正常但是当我执行eclipse时:eclipse,并在eclipse中导入项目它会给我一个错误The import org.aspectj cannot be resolved.我检查了生成的.classpath文件,但没有该文件的条目.我尝试了一个"mvn依赖:树",它列出了这个很好.

我没有任何花哨的设置没有编译任何java文件.这只是一个困扰我的常规pom.

谁能告诉我这里出了什么问题?

更新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>
Run Code Online (Sandbox Code Playgroud)

kop*_*per 8

我有类似的问题.跑步mvn eclipse:clean,然后mvn eclipse:eclipse帮助.


Tad*_*pec 7

我有类似的问题.用于maven的Eclipse插件假设Eclipse有自己对AspectJ的支持.所以你需要告诉它你没有(或告诉它你有哪个版本).添加

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <ajdtVersion>none</ajdtVersion>
    </configuration>
</plugin> 
Run Code Online (Sandbox Code Playgroud)

<build> <plugins>部分应帮助.


Pas*_*ent 4

我只是想重现这个问题,但……做不到。这是.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>
Run Code Online (Sandbox Code Playgroud)

您使用的是哪个版本的 Maven Eclipse 插件?您是否将其配置为使用 AJDT?你能展示一下你的配置吗?