Lombok不在macOS Sierra上使用Eclipse Neon 2

时间:2017-02-22 00:26:18

标签: eclipse macos-sierra lombok

我在macOS Sierra和Lombok 1.16.14上使用Eclipse Neon 2.

当我运行Lombok安装程序时,它无法找到我的任何Eclipse或IntelliJ IDEA安装。

因此,我必须通过指向以下文件手动“指定位置”(没有其他目录或文件可以使“安装”按钮变为可点击):

eclipse-standard-neon2/Eclipse.app/Contents/Eclipse/eclipse.ini

之后,安装,它说“安装已完成”,在eclipse.ini文件中,它为最后一行插入了以下行(我粘贴了eclipse.ini的全部内容):

-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.401.v20161122-1740
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-javaagent:../Eclipse/lombok.jar

lombok.jar也自动放在与eclipse.ini相同的目录中:

eclipse-standard-neon2/Eclipse.app/Contents/Eclipse/

但是,当我启动Eclipse Neon 2并尝试使用任何Lombok注释时,即使我明确声明了包导入,它也无法识别其类路径中的库。

另外,当我重新运行Lombok安装程序(按顺序卸载Lombok)时,仍然无法找到我之前安装时必须手动指定的以前的Eclipse IDE?

当我尝试使用以下命令行从命令行运行Eclipse时(它仍然无效并且stdout中没有列出错误):

eclipse-standard-neon2/Eclipse.app/Contents/MacOS$ ./eclipse -vmargs -javaagent:../Eclipse/lombok.jar

这是从stdout运行它的标准输出:

objc[52949]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/MacOS/libjli.dylib (0x100543480) and /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x1005a54e0). One of the two will be used. Which one is undefined.
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
Starting Groovy-Eclipse compiler resolver.  Specified compiler level: unspecified
671 2.4.8.xx-201702132212-e46 = STARTING
672 2.3.11.xx-201702132212-e46 = STARTING
org.eclipse.m2e.logback.configuration: Logback config file: /Users/devuser/DevTools/Java/eclipse/eclipse-standard-neon2/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.7.0.20160603-1933.xml
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://462.fwk1881585646:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://462.fwk1881585646:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
org.eclipse.m2e.logback.configuration: Initializing logback

有没有人遇到过这个问题?

猜猜,我不会很快就有权使用/学习龙目岛。 :(

1 个答案:

答案 0 :(得分:0)

您可以通过从菜单中打开Help?About Eclipse对话框来验证是否正确安装了Lombok。在右侧的白色区域中,底行应为:Lombok v1.16.14 "Candid Duck" is installed. https://projectlombok.org/

如果没有,请验证您的eclipse.ini。确保第-javaagent:../Eclipse/lombok.jar行低于-vmargs。你可以尝试在这里使用完整路径,它可能会从错误的位置解决。

如果该行存在,但对话框中未显示lombok行,请尝试从命令行启动Eclipse,并查看是否收到错误消息。

lombok的下一个版本应该找到这个安装。

卸载程序不建议先前输入的位置的原因是lombok安装程序不会尝试记住任何内容。好处是目录移动不会干扰,并且lombok安装程序不会在您的计算机上留下任何痕迹。

披露:我是一名lombok开发者。