Eclipse Oxygen的Lombok问题

时间:2017-08-02 13:08:58

标签: eclipse lombok

我最近升级到了新的Eclipse版本(Oxygen)。我从网站上下载了lombok.jar并安装了它。这是安装后eclipse.ini的样子:

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
C:\Users\xxx\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-javaagent:lombok.jar

我可以使用Lombok,如下所示:

pojoclass outlineinfo

但是当在其他类中使用getter / setter和/或构造函数时,我得到了这个错误:

codeInfo enter image description here

这些也是我的Eclipse和Lombok版本:

Eclipse Java EE IDE for Web Developers.
Version: Oxygen Release (4.7.0)
Build id: 20170620-1800
Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/

任何人都知道如何解决它?

22 个答案:

答案 0 :(得分:59)

我的环境:java版本" 1.8.0_144"

蚀: 面向Web开发人员的Eclipse Java EE IDE。 版本:氧气释放(4.7.0) 构建ID:20170620-1800

  1. 退出Eclipse(如果已打开)并从https://projectlombok.org/download下载jar

  2. 执行命令:java -jar lombok.jar

  3. 此命令将打开如https://projectlombok.org/setup/eclipse所示的窗口,安装并退出安装程序。

  4. 将jar添加到构建路径/将其添加到pom.xml。

  5. 重启eclipse。

  6. 转到Eclipse - >关于Eclipse - >检查'龙目岛v1.16.18"跳舞大象"已安装。 https://projectlombok.org/'
  7. 为项目启用Lombok:Enable annotation processing在相应的IDE中。 就是这样。有效。 我没有改变eclipse init脚本。
  8.   

    注意:请阅读以下图片中有关-vm选项的说明如果您启动   Eclipse带有自定义-vm参数,您需要添加:

    -vmargs -javaagent:<path-to-lombok-jar>/lombok.jar
    
      

    作为参数

    以上步骤适用于Photon Release (4.8.0) - Lombok v1.18.2eclipse: Oxygen.3a Release (4.7.3a) - Lombok v1.18.0eclipse: Neon.3 Release (4.6.3) - Lombok v1.18.2

    lombok成功屏幕: enter image description here

答案 1 :(得分:21)

对于MacBook Pro用户(例如,运行 macOs Sierra v10.12.6),为了使用Java 1.8(1.8.0_144)在lombok上安装Eclipse Oxygen (4.7.0) or Photon (4.8.0),执行以下操作:

  1. 从网站Project Lombok;
  2. 下载 lombok
  3. 如果Eclipse IDE已打开,请将其关闭;
  4. 按照official installation steps或执行命令触发 lombok 安装:java -jar lombok.jar;
  5. 如果 lombok 安装程序找不到您的Eclipse IDE,则会要求您输入Eclipse的路径。您应该输入 eclipse.ini 文件的路径。在我的案例中是/tools/ide/eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini
  6. 退出安装程序并打开Eclipse。
  7. 在菜单栏上,转到 Eclipse&gt;关于Eclipse 并验证 lombok 已安装:

    Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
    

    请务必向下滚动文本窗口,因为安装的Lombok版本出现在图标行上方的文本中。

  8. 最后,根据您正在使用的构建工具,将 lombok 添加到项目的构建路径中。例如,对于Maven,请使用以下依赖项:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
    </dependency>
    

答案 2 :(得分:7)

Eclipse Oxygen,Java 1.9 Lombok Mac OSX - windows / linux )应该出现问题相似)。

这就是我必须做的事情:

  1. 下载最新的lombok: 1.16.20
  2. 打开eclipse,检查更新并安装所有更新。确保将eclipse更新为最新版本。
  3. 退出日食。
  4. java -jar lombok.jar
  5. 确保弹出的安装程序窗口中Eclipse的位置正确,我必须明确指定:/[some-folder-heirarchy]/Eclipse.app/Contents/Eclipse/eclipse.ini
  6. 然后检查更新是否已在eclipse.ini中进行:

    -javaagent:/[some_folder-hierarchy]/eclipse-oxygen/Eclipse.app/Contents/Eclipse/lombok.jar
    

    只有一行更新。这是lombok的某些早期版本的更改,其中还指定了bootclasspath和/或lombok.jar的路径是相对的。现在这是一条绝对的道路。

    带来日食,你会看到龙目岛在行动。

    不要忘记在Lombok或任何其他依赖管理工具中使用相同的maven版本。

    编辑1:我还在Lombok maven POM中使用了与eclipse中安装的eclipse不同版本的maven。编译的东西,但eclipse中有一些编译错误。当然,使用maven在命令行上成功编译的东西。因此,如果您有项目依赖项迫使您使用不同的Lombok版本,那么请注意这种可能性。关键是要在List<MyObject> list = new ArrayList<>(mySet); list.sort(myComparator); Map<String, Integer> nameMap = new HashMap<>(); for (int i = 0; i < list.size(); i++) { nameMap.put(list.get(i).getName(), i); } 和项目的依赖关系管理({{1}}等)中安装相同的版本。

答案 3 :(得分:5)

不要使用旧版本的java。

lombok会在你的eclipse.ini中添加以下行:

-javaagent: lombok.jar

lombok.jar位于C:\eclipse\jee-oxygen\eclipse目录

问题是Windows安装创建的快捷方式如下所示:

enter image description here

填写&#34;开始于&#34;路径,它将工作:

enter image description here

答案 4 :(得分:4)

我和Alex有完全相同的问题。 我的eclipse版本是

  

版本:Oxygen.1a版本(4.7.1a)版本号:20171005-1200

我安装了 lombok 1.16.18 ,检查它已经安装完毕,并且我的eclipse.ini文件中也添加了javaagent行。

除了在项目中调用getter的编译错误外,每件事都很好。这很尴尬,但我修正了:

  1. 清洁项目

  2. 建设项目

  3. 重启eclipse几次

  4. 别无其他。

答案 5 :(得分:4)

解决方案:

  1. 按照lombok网站的指示安装lombok 1.16.18。在安装过程中,Eclipse会越来越好。

  2. 确保Eclipse可以正常启动。在快捷方式上,更改属性,然后填写&#34; 开始&#34;道路,它将如托马斯和法比亚诺所说的那样起作用。

  3. Eclipse打开后,在项目上更新Maven以解决编译错误。

  4. 现在,Lombok最新版本与Eclipse最新版本一起使用。

  5. 供参考:

    我的日食:氧气

    Version: Oxygen.2 Release (4.7.2)
    Build id: 20171218-0600 
    

    我的JRE / JDK:1.8

    java version "1.8.0_152"
    Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
    Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
    

    lombok 1.16.18

答案 6 :(得分:3)

对于从锁定启动器的启动器(.desktop文件)启动Eclipse的Linux / Ubuntu用户,以及您的帮助 - &gt;关于对话框未显示已安装lombok:

  1. 关闭Eclipse
  2. 从启动器中解锁Eclipse
  3. 从.desktop应用程序启动Eclipse
  4. 验证“帮助 - &gt;关于”表示安装了lombok(向下滚动)
  5. 再次锁定您的发射器
  6. 似乎这是因为应用程序“锁定到启动器”的某些问题,并且解锁/锁定过程可以修复它。

    (感谢cardamon的评论here指出了我的解决方案)

答案 7 :(得分:2)

我有同样的问题,然而,最初的开发是用lombok 1.16.10完成的,我安装了1.16.18。当我下载并安装1.16.10时,一切正常。我可能需要做一些清理和重建以使其与.18一起工作,但如果你赶时间,那就试试吧。

答案 8 :(得分:1)

在日食氧气中也有lombok的问题。

我的解决方案:从java版本8u144返回到8u141。

我通过将此添加到我的eclipse.ini来引用lombok:

-Xbootclasspath / C:/DEV/Tools/lombok-1.16.18/lombok.jar

-javaagent:/DEV/Tools/lombok-1.16.18/lombok.jar

答案 9 :(得分:1)

Lombok does not work for Eclipse Neon

 - You should not just "restart" Eclipse, go to File -> Exit and then
   open it again.
 - Don't forget to do a mvn clean just to make sure that you recompiled your classes. 
 - After all this you should also right-click on your project, then Maven -> Update Project

答案 10 :(得分:1)

很多解决方案,都没有解决我的问题。

Eclipse Oxygen 3a 2018年4月,安装程序运行正常,

我的问题是在DCEVM JRE上运行Eclipse。将Eclipse指向未经修改的JVM解决了此问题。

答案 11 :(得分:1)

如果重新启动Eclipse没有帮助。您必须退出应用程序并确保终止所有正在运行的java进程。这对我有用。

(Eclipse Oxygen 4.7.1a,OpenJDK 1.8.0_151-b12)

答案 12 :(得分:1)

有类似的问题,但真的不记得是什么帮助了我。 当然你可以尝试重启Eclipse。 确保在lombok安装中提到了正确的Eclipse路径。 这是您可以找到其他潜在解决方案的主题:Cannot make Project Lombok work on Eclipse (Helios)

答案 13 :(得分:0)

我正在使用STS。 完成上面显示的lombok.jar的安装后,需要执行以下任务。 STS->项目->属性-> Java编译器->注释处理->启用注释处理。 参见here

答案 14 :(得分:0)

我尝试了所有这一切,但对我而言不起作用。 Lombok库仍未添加到我的类路径中。

我正在使用最新的spring-boot版本

2.1.9。发布

当我将其简化为对我有用的以下版本

2.1.7。发布

答案 15 :(得分:0)

如果您已经成功安装了Lombok并且仍然遇到问题,请右键单击您的项目> maven>更新项目,这应该可以进行。

答案 16 :(得分:0)

按照以下步骤在日食中修复龙目岛问题

  1. 首先下载lombok jar(添加到pom,它将下载。您可以从该位置运行(从您的maven存储库位置)
  2. 从您的maven存储库位置运行jar(java -jar lombok.jar)
  3. 选择ur eclipse.exe位置并安装。
  4. 将jar添加到maven / class路径

在此之后,您将能够在eclipse.ini文件中的下面几行中看到这些内容

-javaagent:lombok.jar的位置
-Xbootclasspath / a:lombok.jar

注意-如果按照以下步骤操作后缺少任何行,则将其添加到eclipse.ini中并开始工作。

答案 17 :(得分:0)

我在日食中遇到过同样的问题。安装成功,但是我在代码中看到错误。一个简单的Maven更新解决了此问题。在月食中是Alt + F5。

答案 18 :(得分:0)

遵循以下步骤,

  1. https://projectlombok.org/download

    下载lombok-jar
  2. 转到下载您的lombok-jar的目录并在以下命令下运行, java -jar lombok-1.18.4.jar

  3. 以上命令将打开一个窗口, enter image description here

  4. 指定Eclipse应用程序的位置,然后单击安装/更新并继续。将显示以下屏幕, enter image description here

点击退出安装程序。

  1. 重新启动IDE。检查是否安装了Lombok。转到->关于Eclipse-> enter image description here

  2. 您将看到如下所示的已安装的龙目岛, enter image description here

答案 19 :(得分:0)

简单的方式只需下载lombok.jar打开eclipse点击项目构建路径添加一个外部jar 并导入jar 重启eclipse 一切都解决了

答案 20 :(得分:0)

注意如果你在 eclipse 运行时做所有喜欢的事情,那么你会 没有得到更改,因此只需重新启动 eclise,您就会更改更改

答案 21 :(得分:-1)

您好,我只需在pom.xml中编辑lombok依赖项即可解决该问题

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.16</version>
    <scope>provided</scope>
</dependency>

该版本似乎可以在Java 8上正常工作。