Lombok不适用于Eclipse Neon

Ale*_*lex 20 java eclipse maven lombok

我下载了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 {
...
Run Code Online (Sandbox Code Playgroud)

错误:

The method getRole() is undefined for the type User 
Run Code Online (Sandbox Code Playgroud)

imT*_*chu 40

由于你已经将.jar添加到你的lib文件夹,然后转到lib 并执行java -jar lombok-1.16.4.jar,你会看到一个向导,指定你的位置,完成eclipse.ini后你的eclipse.ini文件应如下所示:

    -vmargs
    ...
    -javaagent:lombok.jar
    -Xbootclasspath/a:lombok.jar
Run Code Online (Sandbox Code Playgroud)

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

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

  • 运行lombok.jar后,我看到-javaagent:../ Eclipse / lombok.jar。但我看不到-Xbootclasspath / a:lombok.jar。 (2认同)
  • 完善!"不只是重启eclipse"提示解决了我的问题. (2认同)

Yu *_*aao 11

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

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

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

    -Xbootclasspath/a:lombok.jar
    -javaagent:lombok.jar
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启 eclipse.


mam*_*eks 6

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

我的环境是:

IDE: Version: Neon.0 Release (4.6.0)
OS: Ubuntu 16.04.2 LTS
Run Code Online (Sandbox Code Playgroud)

安装程序java -jar lombok-1.16.16.jar运行良好.也就是说,它增加了合理的线路-javaagent:<ABSOLUTE_PATH_TO_ECLIPSE_INSTALLATION>/lombok.jareclipse.ini.

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

因此,我检查了我的桌面快捷方式(例如~/.local/share/applications/eclipse.desktop),实际上,它开始了eclipse而没有反映出来eclipse.ini.相反,它使用像/usr/bin/java -jar org.eclipse.equinox.launcher.jar ...开始日食的东西.

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

Exec=/opt/eclipse/neon/eclipse
Run Code Online (Sandbox Code Playgroud)

这里/opt/eclipse/neon/是我已经安装了Eclipse的地方.


Sky*_*ker 5

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

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

-javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar
Run Code Online (Sandbox Code Playgroud)

资源链接:

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

lombok项目业主rzwitserloot提出了3项检查建议

  1. 您可以从根目录中为我们提供eclipse安装的完整路径吗?从1.16.14开始,即使使用OOM安装程序提供的时髦路径,安装程序仍应找到eclipse.我不知道为什么安装程序没有自动找到你的eclipse,这里.我无法在我的Mac上重现这一点.
  2. lombok卸载程序具有与'find eclipses'安装程序相同的功能.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项目添加为与任何其他第三方依赖项相同的依赖项(例如,像番石榴一样).如果您确实这样做,那么您的问题描述并不清楚.

资源链接:

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


Ale*_*lex 1

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