小编Roe*_*ker的帖子

访问项目lombok注释方法时,Maven构建无法找到符号,

我第一次使用项目lombok并且在运行构建时遇到maven编译项目时遇到问题我收到错误,其中调用带有项目lombok注释的方法.

这是带注释的参数:

    private @Getter @Setter String paymentNonce = null;
Run Code Online (Sandbox Code Playgroud)

例如,在这一行中,maven打破了构建:

if (!StringUtilities.isNullOrEmpty(getPaymentNonce())) {
Run Code Online (Sandbox Code Playgroud)

这是我的maven依赖

<dependency> 
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.4</version> 
</dependency>
Run Code Online (Sandbox Code Playgroud)

maven错误:

[INFO] Compiling 158 source files to C:\java\repos\luna\cloudflow\cloudflow-ejb\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \java\repos\luna\cloudflow\cloudflow-ejb\src\main\java\si\arctur\controller\PaymentProcessor.java:[94,38] error: cannot find symbol
[ERROR] \java\repos\luna\cloudflow\cloudflow-ejb\src\main\java\si\arctur\controller\PaymentProcessor.java:[97,106] error: cannot find symbol
[ERROR] \java\repos\luna\cloudflow\cloudflow-ejb\src\main\java\si\arctur\controller\PaymentProcessor.java:[142,2] error: cannot find symbol
[ERROR] \java\repos\luna\cloudflow\cloudflow-ejb\src\main\java\si\arctur\controller\ShoppingCart.java:[27,6] error: cannot find symbol
[ERROR] \java\repos\luna\cloudflow\cloudflow-ejb\src\main\java\si\arctur\controller\ShoppingCart.java:[32,75] error: cannot find symbol
.....
Run Code Online (Sandbox Code Playgroud)

我正在使用java 8

java maven lombok

28
推荐指数
6
解决办法
2万
查看次数

使用Lombok的@ Slf4j和Eclipse构建:找不到符号日志

我在Eclipse中有lombok插件并在Eclipse编译器中启用了Eclipse中的注释处理,但是当我使用@ Slf4j注释时它仍然无法识别日志语句.

我们必须进行任何其他设置吗?

eclipse slf4j lombok

19
推荐指数
4
解决办法
3万
查看次数

项目Lombok与Eclipse模板/代码生成

与Eclipse中的代码模板/代码生成相比,Project Lombok是否提供了任何好处?是否有任何缺点(除了包括.jar)?

eclipse code-generation lombok

13
推荐指数
3
解决办法
1633
查看次数

有没有人使用Ant4Eclipse与Project Lombok?

有没有人成功地将Ant4Eclipse(http://www.ant4eclipse.org/)与Project Lombok(http://projectlombok.org/)结合使用?

Lombok提供了删除样板代码的注释; 然而,它似乎与Ant4Eclipse(Eclipse项目的无头编译)完美搭配.例如,以下Lombok示例在Eclipse和javac中编译良好:

import lombok.Getter;
public class LombokTest {
  private @Getter String foo; 
  public LombokTest() {
    String s = this.getFoo();
  }
}
Run Code Online (Sandbox Code Playgroud)

但是使用Ant4Eclipse进行编译会<buildJdtProject>产生以下结果:

[javac] Compiling 1 source file
[javac] ----------
[javac] 1. WARNING in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 4)
[javac]     private @Getter String foo;
[javac]                            ^^^
[javac] The field LombokTest.foo is never read locally
[javac] ----------
[javac] 2. ERROR in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 8)
[javac]             String s = this.getFoo();
[javac]                             ^^^^^^
[javac] The method …
Run Code Online (Sandbox Code Playgroud)

java eclipse ant lombok

9
推荐指数
1
解决办法
678
查看次数

Lombok @Data是否覆盖现有的toString和hashCode方法?

最近我们开始在我们的项目中使用Lombok功能.我们有@DataDomain对象的注释,因为运行时有一些hashCode()由Lombok api提供的方法抛出的异常.后来,当我添加@Setter@Getter不是@Data,我没有看到任何问题.

问题1:请问龙目@Data覆盖像一类的现有方法hashCode()toString()

问题2:为什么hashCode()在这里出问题?

java lombok

7
推荐指数
1
解决办法
7331
查看次数

如何启动Jetty8仅提供静态内容?

出于测试目的,我想使用Jetty 8仅提供静态内容.我知道如何从命令行启动Web服务器:

java -jar start.jar jetty.port = 8082

我希望能够使用香草码头,最好是8或7,并使用以下内容启动它:

java -jar start.jar OPTIONS = resources resources.root = ../foo jetty.port = 8082

然后可以从服务器的根目录访问这些文件.调用的文件../foo/x.html应该可以访问http://localhost:8082/x.html.

我不想创建一个WAR文件或任何花哨的东西.最好不要在服务器端进行任何缓存,使文件在Windows机器上解锁.此外,我只想提供文件,甚至位于子目录中,没有花哨的文件浏览器或从客户端修改它们的方法.

这可能吗?如果不是,完成此类行为所需的最低配置是多少?

附加信息

我试过以下命令.我希望能够浏览Jetty 8附带的javadoc http://localhost:8080/javadoc/,但它总能给我一个404

java -jar start.jar --ini OPTIONS =服务器,资源等/ jetty.xml contexts/javadoc.xml

jetty

6
推荐指数
1
解决办法
7636
查看次数

在java7 JRE中是否忽略了-client和-server命令行选项?

我已经安装了java7 jre:java -version

java版"1.7.0_02"

Java(TM)SE运行时环境(版本1.7.0_02-b13)

Java HotSpot(TM)64位服务器VM(内置22.0-b10,混合模式)

我想测试-server选项是否在JRE中有效.这似乎是我机器上的默认设置.我还想检查是否支持-server和-client选项.所以我写了以下程序:

public class Info {
    public static void main(String... args) {
        System.out.println(System.getProperty("java.vm.name"));
        System.out.println(System.getProperty("java.vm.version"));
        System.out.println(System.getProperty("java.vm.info"));
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我从jre7\bin安装文件夹发出命令java -client -cp e:\ temp Info,程序将打印:

Java HotSpot(TM)64位服务器VM

22.0-B10

混合模式

它为-server打印相同的内容.

在java7 jre中是否忽略了-client和-server?是否有关于此行为的在线文档?

PS我知道现在有分层编译.

java

2
推荐指数
1
解决办法
3888
查看次数

标签 统计

lombok ×5

java ×4

eclipse ×3

ant ×1

code-generation ×1

jetty ×1

maven ×1

slf4j ×1