我的pom.xml中有以下代码片段(可以执行下面的完整的pom)
<dependency> <groupId>aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.5.3</version> </dependency>
在我的一个Java文件中,我引用了一个类org.aspectj.lang.ProceedingJoinPoint.当我做一个“mvn干净的安装”它编译和建立很好,但是当我做一个eclipse:eclipse,并导入项目在eclipse它给我一个错误导入org.aspectj无法解决.我检查了生成的.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>
解决方法
我只是试图重现这个问题,不能.这是在添加aspectj后获得的.classpath: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>