Lombok不适用于Eclipse Neon

我下载了lombok.jar(lombok-1.16.14.jar)把它放到我的下载中。 然后我点击了这个jar,执行正确识别我的MacOS上的Eclipse实例,然后我选择了我想要的实例。 Lombok也在pom.xml中指定org.projectlombok lombok 1.16.14提供

在eclipse.ini中我添加了:-javaagent:../ Eclipse / lombok.jar

lombok.jar被添加到与eclise.ini /Applications/Eclipse.app/Contents/Eclipse相同的目录中

尽管我的mvn构建工作正常,但我仍然在Eclipse问题中遇到setter / getter错误。

用户代码:

 @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @EntityListeners(UserListener.class) public class User implements Serializable, UserDetails { ... 

错误:

 The method getRole() is undefined for the type User 

既然你已经将.jar添加到你的lib文件夹中,那么去lib并执行java -jar lombok-1.16.4.jar ,你会看到一个向导,指定你的eclipse.ini的位置。完成这个你的eclipse.ini文件应该是这样的:

  -vmargs ... -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar 

对我来说,这只是工作正常,但我在其他答案中发现:

  • 你不应该只是 “重启”Eclipse,转到File -> Exit然后再打开它。 取自这里
  • 不要忘记做一个mvn clean只是为了确保你重新编译你的类。 取自这里
  • 在完成所有这些之后,您还应该右键单击您的项目,然后从此处获取 Maven -> Update Project

有一种手动方式在eclipse下安装lombok ,我没有检查它,但它可能会帮助你 –

  1. lombok.jar复制到eclipse文件夹所在的eclipse.ini所在的位置

  2. 打开eclipse.ini ,将下面的两行放在最后并保存

     -Xbootclasspath/a:lombok.jar -javaagent:lombok.jar 
  3. 重启eclipse

Antoniolazaro在MacOS上为Eclipse Neon问题提供了解决方案

当我把完整的路径,它适用于Mac Os。

 -javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar 

资源链接:

  1. https://github.com/rzwitserloot/lombok/issues/1173

而lombok项目所有者rzwitserloot提出了3项检查建议

  1. 您可以从根目录中为我们提供eclipse安装的完整路径吗? 从1.16.14开始,即使使用OOM安装程序提供的时髦路径,安装程序仍应找到eclipse。 我不知道为什么安装程序没有自动找到你的eclipse,这里。 我无法在我的Mac上重现这一点。
  2. lombok卸载程序具有与安装程序相同的'find eclipses'function。 Mac doesn't have a registry and we aren't going to dump a bunch of crud in your homedir just to keep track of where we installed your lombok; 我们喜欢这样:没有任何瑕疵。 因此,该部分(卸载程序无法找到自定义安装位置并要求您再次指定它)不是错误。
  3. 您仍然必须将lombok.jar作为依赖项添加到您的项目中,与任何其他第三方依赖项(例如guava之类的东西)相同。 如果您确实这样做,那么您的问题描述并不清楚。

资源链接:

https://github.com/rzwitserloot/lombok/issues/1310

我遇到了问题, 我用来启动eclipse的链接并不尊重eclipse.ini文件

我的环境是:

 IDE: Version: Neon.0 Release (4.6.0) OS: Ubuntu 16.04.2 LTS 

安装例程java -jar lombok-1.16.16.jar工作得很好。 即它将合理的行-javaagent:/lombok.jareclipse.ini

但是如果我使用我的桌面快捷方式启动eclipse,它会在没有lombok的情况下启动(通过查看“帮助” – >“关于Eclipse”进行检查)。 如果我通过执行eclipse.ini文件旁边的可执行eclipse来启动eclipse.ini ,那么lombok会像魅力一样启动。

因此我检查了我的桌面快捷方式(例如~/.local/share/applications/eclipse.desktop ),实际上,它启动了eclipse而没有反映eclipse.ini 。 相反,它使用类似/usr/bin/java -jar org.eclipse.equinox.launcher.jar ...来启动eclipse。

因此,解决方案是通过以下方式替换桌面快捷方式中的旧Exec行:

 Exec=/opt/eclipse/neon/eclipse 

其中/opt/eclipse/neon/是我安装eclipse的地方。

尝试类的@Data注释。

 public @Data class user{ \\do stuff } 

对我来说,下载最新的Eclipse Neon,即Neon 3,解决了这个问题

我的环境是:

 IDE: Version: Neon.3 Release (4.6.3) OS: Ubuntu 16.4 

当我执行以下步骤时,它适用于我:

 1. copy `lombok.jar` to where your eclipse folder where is the `eclipse.ini` ; 2. open `eclipse.ini`,put at end the two lines below with full lombok path and save it: -Xbootclasspath/a:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar -javaagent:/DEV/Tools/IDE/eclipse/jee-neon/lombok.jar 3. restart `eclipse` in command line (when i try run with exist link in launcher it's not work) 4. rebuild your projects 

就我而言,我在Windows上使用Eclipse的“Chocolatey”发行版。

它没有太大变化。 但对于那些不是桌面管理员的人来说,这可能很麻烦,因为Chocolatey在C:\ProgramData\...安装软件,这是一个“admin”目录。

换句话说,您可能需要修改快捷方式的属性“start in”,除非您是桌面管理员,否则无法进行此操作。

这里有用的技巧是创建一个新的快捷方式,它具有正确的“start in”属性,可以在eclipse.ini所在的目录中启动eclipse …

然后使用eclipse重新编译,然后稍微处理你的项目,直到eclipse意识到已经安装了lombok …

干杯

安装lombok之后,需要将lombok.jar复制到项目中或在maven配置xml文件中添加依赖项

退出eclipse然后转到eclipse目录并打开eclipse.ini并在顶部添加-clean并重新运行eclipse。 希望你的问题得到解决。

即使遵循以下步骤(首先尝试下面给出的步骤),如果它不起作用,一个问题可能是您正在使用桌面上的eclipse,而不是来自安装了eclipse的文件夹。 从桌面运行eclipse有时无法加载.ini文件,因此lombok将无法运行。 因此, 尝试从已安装它的文件夹中运行eclipse

步骤:1。将lombok依赖项放在pom中并构建它。

  1. lombok.jar通常下载在.m2 / repository / org / projectlombok / lombok / 1.xy文件夹中。
  2. 将jar安装在“ java -jar lombok-1.xyjar ”文件夹中
  3. 然后它会要求您选择IDE。 浏览到eclipse安装文件夹,然后从那里选择eclipse。
  4. 现在你的eclipse安装文件夹应该包含lombok.jar和eclipse.ini应该包含-javaagent行:/lombok.jar

  5. 从安装文件夹运行eclipse。 清理并重建项目。 它现在应该工作!