gpt4 book ai didi

java - 运行时未找到方面

转载 作者:行者123 更新时间:2023-12-01 05:39:52 26 4
gpt4 key购买 nike

我正在尝试使用java 6.0将aspectj添加到maven项目中。使用1.4版本的aspectj-maven-plugin和1.6.11版本的aspectj。

这些类位于外部依赖 jar 中,这里是 pom:

 <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<configuration>
<complianceLevel>1.6</complianceLevel>
<source>1.6</source>
<target>1.6</target>
<showWeaveInfo>true</showWeaveInfo>
<weaveDependencies>
<weaveDependency>
<groupId>${project.groupId}</groupId>
<artifactId>gem</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
<executions>
<execution>
<!-- Needs to run before the regular javac compile phase -->
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>

这些方面似乎在构建期间应用得很好:这是一个示例:

[INFO] --- aspectj-maven-plugin:1.4:compile (default) @ test ---
[INFO] Extending interface set for type 'test.pkg1.pkg2.PaymentEnquiry' (PaymentE
nquiry.java) to include 'test.pkg1.pkg2.aj.AdditionalPaymentEnquiryMethods'
(PaymentEnquiryExtensions.aj)

但是在运行时,我收到以下错误: java.lang.NoSuchMethodError:
test.pkg1.pkg2.Payment.setDetails(Ljava/util/List;)V

任何关于为什么会发生这种情况的想法都会非常有帮助。

最佳答案

最明显的原因是没有带有签名的方法

void setDetails(List)

关于 test.pkg1.pkg2.Payment。它看起来不太像 AspectJ 问题——更像是运行时类路径上的错误代码问题。

关于java - 运行时未找到方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com