我的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)
我有类似的问题.用于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>部分应帮助.
我只是想重现这个问题,但……做不到。这是.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?你能展示一下你的配置吗?
| 归档时间: |
|
| 查看次数: |
11148 次 |
| 最近记录: |