相关疑难解决方法(0)

如何让Lombok和AspectJ一起工作?

我刚刚在SO上发布了关于龙目岛没有生成我的getter/setter的问题.事实证明它与AspectJ相冲突.如果我禁用AspectJ,则适当地生成getter/setter.

我的猜测是ajc编译器无法识别lombok.

Lombok和AspectJ是互斥的吗?两种技术一起工作吗?

java aspectj lombok

24
推荐指数
1
解决办法
9460
查看次数

Dropwizard Metric Annotations @Timed无效

我正在尝试使用@Timed(http://metrics.dropwizard.io/3.1.0/apidocs/com/codahale/metrics/annotation/package-summary.html)等注释自动将指标发布到我的MetricRegistry .

这不是开箱即用的.在搜索问题时,我发现了Codahale Metrics:在普通Java使用@Timed指标注释,其中提到了这个工作的唯一方法是使用aspectj.我将此添加到我的项目中,但仍未在MetricRegistry中看到我的指标.

这是我的pom文件.我添加了一个librato库,它加载了com.codahale.metrics:metrics-annotation.

<dependency>
  <groupId>io.astefanutti.metrics.aspectj</groupId>
  <artifactId>metrics-aspectj</artifactId>
  <version>${metrics-aspectj.version}</version>
</dependency>
<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjrt</artifactId>
  <version>1.8.10</version>
</dependency>

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.7</version>
    <configuration>
      <showWeaveInfo>true</showWeaveInfo>
      <source>1.8</source>
      <target>1.8</target>
      <complianceLevel>1.8</complianceLevel>
      <encoding>UTF-8</encoding>
      <verbose>true</verbose>
      <aspectLibraries>
        <aspectLibrary>
          <groupId>io.astefanutti.metrics.aspectj</groupId>
          <artifactId>metrics-aspectj</artifactId>
        </aspectLibrary>
      </aspectLibraries>
    </configuration>
    <executions>
      <execution>
        <phase>process-sources</phase>
        <goals>
          <goal>compile</goal>
          <goal>test-compile</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

<dependency>
  <groupId>com.librato.metrics</groupId>
  <artifactId>metrics-librato</artifactId>
  <version>${metrics-librato.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这就是我尝试使用指标的方式

@Metrics(registry = "default") // this.metricRegistry is default
public class Foo {
    @Inject
    private MetricRegistry metricRegistry;
    ...

    @Metered(name = "meterName")
    public void bar() { …
Run Code Online (Sandbox Code Playgroud)

java aspectj java-8 dropwizard librato

13
推荐指数
1
解决办法
2624
查看次数

标签 统计

aspectj ×2

java ×2

dropwizard ×1

java-8 ×1

librato ×1

lombok ×1