切入点格式错误:Class 不能为空
Pointcut is malformed: Class must not be null
我突然在 Eclipse 中的几个方面 类 中遇到“Pointcut is malformed: Class must not be null
”错误。代码工作正常,但是,在那些 类 没有改变的情况下,Eclipse 突然开始报告错误。
如果问题的根源是 eclipse platform/plugin 更新或项目的依赖项更新,我正在尝试追查。
我正在使用 Spring 工具套件版本:3.7。1.RELEASE 构建 ID:201510041213 平台:Eclipse Mars.1 (4.5.1) 和 Spring IO 平台 2.0。 0.
有没有人遇到同样的问题?
我正在发布方面代码之一(尽管问题可能不在这里)
@Aspect
@Order(200)
@Component
public class FooAspect {
@Around("execution(public org.springframework.http.ResponseEntity com.acme.endpoints.controller..*.*(..)) && " +
"@target(org.springframework.web.bind.annotation.RestController) && " +
"@annotation(com.acme.endpoints.annotations.FooAnnotation)")
public Object doCurrencyConversion(ProceedingJoinPoint pjp) throws Throwable {
String bar = extractBar(pjp);
ResponseEntity<?> retVal;
retVal = (ResponseEntity<?>) pjp.proceed();
processFooBar(retVal, bar);
return retVal;
}
private String extractBar(ProceedingJoinPoint pjp) {
return "...";
}
private void processFooBar(ResponseEntity<?> retVal, String targetBar) {
// ...
}
}
现在错误已经消失了。我所做的是改变我管理 Spring 依赖项的方式。
在我将平台 BOM 导入我的 parent POM 之前,以便我的所有模块都按照 Spring 网站中的描述继承它:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement><repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
使用此配置,某些版本会覆盖不起作用的地方,并且由于我使用的 BOM 版本是快照,依赖项的实际版本每天都在变化。
我所做的是将 BOM 设置为我的 parent 的 parent,这样版本覆盖会按预期工作,所有内容都在没有提示的情况下编译:
<parent>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath />
</parent>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
我突然在 Eclipse 中的几个方面 类 中遇到“Pointcut is malformed: Class must not be null
”错误。代码工作正常,但是,在那些 类 没有改变的情况下,Eclipse 突然开始报告错误。
如果问题的根源是 eclipse platform/plugin 更新或项目的依赖项更新,我正在尝试追查。
我正在使用 Spring 工具套件版本:3.7。1.RELEASE 构建 ID:201510041213 平台:Eclipse Mars.1 (4.5.1) 和 Spring IO 平台 2.0。 0.
有没有人遇到同样的问题?
我正在发布方面代码之一(尽管问题可能不在这里)
@Aspect
@Order(200)
@Component
public class FooAspect {
@Around("execution(public org.springframework.http.ResponseEntity com.acme.endpoints.controller..*.*(..)) && " +
"@target(org.springframework.web.bind.annotation.RestController) && " +
"@annotation(com.acme.endpoints.annotations.FooAnnotation)")
public Object doCurrencyConversion(ProceedingJoinPoint pjp) throws Throwable {
String bar = extractBar(pjp);
ResponseEntity<?> retVal;
retVal = (ResponseEntity<?>) pjp.proceed();
processFooBar(retVal, bar);
return retVal;
}
private String extractBar(ProceedingJoinPoint pjp) {
return "...";
}
private void processFooBar(ResponseEntity<?> retVal, String targetBar) {
// ...
}
}
现在错误已经消失了。我所做的是改变我管理 Spring 依赖项的方式。
在我将平台 BOM 导入我的 parent POM 之前,以便我的所有模块都按照 Spring 网站中的描述继承它:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement><repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
使用此配置,某些版本会覆盖不起作用的地方,并且由于我使用的 BOM 版本是快照,依赖项的实际版本每天都在变化。
我所做的是将 BOM 设置为我的 parent 的 parent,这样版本覆盖会按预期工作,所有内容都在没有提示的情况下编译:
<parent>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath />
</parent>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>