无法使Lombok项目在Eclipse上运行


69

我在这里遵循了教程 http://projectlombok.org/

但是在添加导入之后,@Data什么也没有发生。

它可以在日蚀日光灯上工作吗?


如果您已经尝试过其他方法,但仍然无法使用,则可以尝试使用此答案。我花了几个小时进行调查后才将其修复
Le Quang Nhan

Answers:


69

你加了吗

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

到您的eclipse.ini吗?

因为如果您拥有(并且已经将lombok.jar添加到了项目所使用的库中),那么它在Eclipse Helios上就可以正常工作:

替代文字


伊恩·特格博Ian Tegebo)在评论中提到:

一个简单的“重新启动”不足以拾取已更改的vmargs:
我需要显式退出然后再次启动


chrisjleu评论中提到:

如果您恰巧正在运行自定义的Eclipse Helios(3.6+)发行版,则可能必须lombok.jar在两个vm参数中使用的完整路径。
有关更多详细信息,请参见commit b47e87f

boolean fullPathRequired = IdeFinder.getOS() == EclipseFinder.OS.UNIX || System.getProperty("lombok.installer.fullpath") != null;

18
FWIW,简单的“重新启动”不足以拾取已更改的vmargs:我需要显式退出然后再次启动。
伊恩·特格博2011年

从下面的答案中,我删除了对此答案的引用,并且内联了eclipse.ini的内容以提供独立的答案。感谢VonC。
Roel Spilker,2012年

@IanTegebo您的回答是对我的解决方案!您应该将其发布为正确答案!谢谢!
克林特·伊斯特伍德

@Jonathan我在答案中加入了Ian的评论,以提高知名度。
VonC

如果不运行.jar文件,则对我不起作用(根据其他答案)。
Brian White

125

您不仅必须将lombok.jar添加到库中,而且还可以通过双击lombok jar或从命令行run来安装它java -jar lombok.jar。这将为您显示一个不错的安装程序屏幕。选择您的Eclipse安装并进行安装。

之后,您可以检查安装程序是否正确修改了eclipse.ini:

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

如果您的Eclipse已经在运行,则必须退出Eclipse并重新启动它。(文件/重新启动还不够)

如果要使用快捷方式启动Eclipse,请确保没有填写任何命令行参数,或者确保在-javaagent:lombok.jar -Xbootclasspath/a:lombok.jar之后的位置手动添加-vmargs

Lombok的最新版本还在“关于Eclipse”屏幕上添加了一行。如果Lombok处于活动状态,则可以找到类似'Lombok v0.11.6“ Dashing Kakapo”的行。http://projectlombok.org/ ',位于按钮行上方。

如果由于某种原因(通常与自定义的Eclipse构建相关)需要使用完整路径,则可以在命令行上指示安装程序执行以下操作:

java -Dlombok.installer.fullpath -jar lombok.jar


龙目岛为什么会这样?
Pureferret

抱歉,我不明白你的问题。您到底想知道什么?
Roel Spilker

谢谢。手动添加-vmargs参数对我来说还不够;Eclipse将简要显示启动窗口并退出。我必须运行/path/to/java/java.exe -jar lombok.jar并告诉它Eclipse的安装位置。除了执行其他操作外,它还在我的eclipse.ini文件的末尾添加了这些参数,然后启动Eclipse就可以了。
Brian White

2
如果您恰巧正在运行自定义的Eclipse Helios发行版,则可能必须在两个vm参数中都使用lombok.jar的完整路径。有一种方法通过像这样运行它这样做与安装:java -Dlombok.installer.fullpath -jar lombok.jar。有关更多详细信息,请参见此处
chrisjleu 2014年

3
重新启动几次后,我感到困惑,但项目仍然被打破。只需运行Project-> Clean。
Nate Glenn

47

添加lombok并重新启动eclipse或spring工具后,我的项目仍然无法识别getter和setter。到处都有红色标记!

解决方案:右键单击您的项目,转到Maven并选择Update Project。

经过数小时的搜索并尝试使用随机解决方案,我发现这是唯一适合我的解决方案。

在此处输入图片说明


3
我必须对Gradle项目做类似的事情:Gradle> Refresh All
Justin Lewis'July'7

21

请遵循以下步骤:-如果已经将lombok jar作为eclipse中的依赖项添加,则转到project's lib folder > Locate Lombok.xx.jar > Right Click on Jar> Run as Java Application> This will launch Lombok screen as below:- 在此处输入图片说明

接下来,点击"Specify location" > And specify location of "Eclipse.ini" file.(Eclipse neon on Mac osX has it at -> "<Eclipse_installation_path>/jee-neon/Eclipse.app/Contents/Eclipse/Eclipse.ini")

之后,重新启动eclipse并清理构建项目。

这对我有用。


谢谢,这确实对Eclipse 4.15
有所


5

仅当我直接在eclipse安装文件夹中启动eclipse.exe时,我才能使这项工作有效。如果我在运行eclipse.exe之前使用命令文件设置一些初始JAVA_HOME和maven参数,则该文件将不起作用,并且在完全相同的项目上会出现编译器错误


这是因为对lombok.jar文件的引用是相对于当前工作目录的。如果您从另一条路径开始食,则需要将参数更改为绝对路径,例如-javaagent:c:/eclipse/lombok.jar
Maddin 2013年

3

Remenber运行lombok.jar,如果你使用Windows7的打开控制台(CMD.EXE)为管理员联系,并运行一个Java应用程序,C:"your java instalation"\ java -jar "lombok directory"\lombok.jar 然后问龙目岛为你的IDE ubication。


3

由于缺少我,我遇到了这个问题:

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

也一样 在这里或在Lombok弹出消息中都没有明确说过,对我来说不明显,因为以前从未用过eclipse.ini摆弄,这是您不应该添加该行,而是添加最后一行在第一部分之后的那一行的两部分已经在eclipse.ini文件中。为了更好地说明,文件的末尾应如下所示(粗体字对于Lombok至关重要,其余部分可能与您有所不同):

-vm
C:/程序文件/Java/jdk1.7.0_02/bin
-vmargs
-Dosgi.requiredJavaVersion = 1.5
-Xms40m
-Xmx384m
-javaagent:lombok.jar
-Xbootclasspath / a:lombok.jar


3

如果Eclipse在这些奇怪的默认Windows路径之一(例如c:/Program files (86)/Eclipse)上,则有时有时不起作用。

在这种情况下,请执行上述操作,然后将龙目岛罐子移到更清洁的路径,且没有空格和花括号(例如c:\lombok\lombok.jar),并相应地修改eclipse.ini。


2

如果您使用的是Windows XP和Eclipse Juno,则顺序应该是这样

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
-Xms40m
-Xmx512m

2

由于Java版本的原因,我无法在MacBook Pro上安装lombok.jar。我必须降级到Java 1.6才能安装,然后在安装正常工作时重用Java 1.7!

您可以在这里看到安装在计算机上的其他JVM:/ System / Library / Java / JavaVirtualMachines


2
  1. 将Lombok jar复制到基于Eclipse的IDE(Eclipse / STS等)安装文件夹中

    • 请注意,安装文件夹是包含.ini您的IDE文件的文件夹
    • 如果您使用Maven插入罐子,则从m2存储库中获取它
    • cp ~/.m2/repository/projectlombork/lombork-1.x.jar /path/to/IDE/lombok.jar
  2. 编辑.iniIDE的install文件夹中的文件,并在下面添加以下行-vmargs

    • -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar
    • 请注意,该罐子应该与.ini文件和罐子名称位于同一文件夹中lombok.jar
  3. 重新启动您的IDE并重建/更新您的项目


2

我在MacBook Pro上遇到了类似的问题,我只是按了以下链接,问题已解决。 https://projectlombok.org/setup/eclipse

遵循的步骤:-

  • 下载lombok.jar
  • 双击这个罐子
  • 这个jar会尝试找到机器上安装的eclipse,但是在我的情况下,尽管我安装了它,但它无法识别出eclipse,这可能是由于软链接到eclipse路径。
  • 我只是通过单击“指定位置”按钮指定了eclipse ini文件的位置
  • 这个jar会自动更新eclipse.ini文件中的javaagent条目
    • 我在Eclipse中将相同的jar添加到项目的类路径中
    • 重新开始我的日食

我在Windows-10 + JBoss Developer Studio-8.1.0.GA上遇到了同样的问题。与Dwarak提到的步骤完全相同,对我有用。由于我在jbdevstudio中导入了一个maven项目,因此我不得不做maven->更新项目,这是最后一步。我注意到以下更改会自动发生,lombok.jar被复制到* \ jbdevstudio \ studio \文件夹中。* \ jbdevstudio \ studio \ jbdevstudio.ini文件已被修改,并且以下一行添加为最后一行。“ -javaagent:* \ jbdevstudio \ studio \ lombok.jar”
nirmalsingh

2

这用于在Spring Tool Suite上设置Lombok。这是我对spring工具套件(sts-4.4.0.RELEASE)和lombok-1.18.10.jar(mavenrepository中提供的当前最新版本)所做的工作。

  1. 如果有Maven项目,请确保已添加lombok依赖项。否则,您需要手动将jar添加到您的项目类路径中。

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>

  2. 清理生成Maven应用程序。默认情况下,这将从maven存储库中的.m2位置下载lombok jar。路径将是org\projectlombok\lombok\1.18.10\

  3. 现在打开命令提示符并导航到lombok路径并执行命令 java -jar lombok-1.18.10.jar

    C:\xxx\xxx\org\projectlombok\lombok\1.18.10>java -jar lombok-1.18.10.jar

  4. 打开lombok对话框。如果看到消息,请Can't find IDE 单击“Specify location... 提供您的STS根目录位置的路径”

    我的情况是 C:\apps\sts-4.4.0.RELEASE\SpringToolSuite.exe

    Install/Update

  5. 成功安装单击退出安装程序

  6. 现在,在资源管理器中导航到您的STS根路径。 C:\apps\sts-4.4.0.RELEASE\ 我们看到lombok.jar放置在sts根路径中现在在记事本SpringToolSuite4.ini文件中进行编辑我们看到以下内容附加在末尾

    -javaagent:C:\apps\sts-4.4.0.RELEASE\lombok.jar

  7. 使用SpringToolSuite4.exe Clean启动STS ,重新生成您的项目。


1

我在.m2回购中搜索lomob.jar。双击它-> Search eclipse.exe并选择它。龙目岛之后将进行所需的更改。明确退出eclipse->现在应该修复。如果没有,请执行maven更新。


1

我正在使用Eclipse Neon,在按照上述步骤操作后,它仍然无法正常工作。导入lombok.Data; 没有被认可。

经过大约一个小时的浏览,我将版本切换到1.16.14,并且可以正常工作。

现在我的想法是,花1小时长期来看是否会是一个不错的投资:-)



1

有点令人沮丧。但最终,它通过以下解决方案为我解决了。

问题似乎是在您的ini文件中放置了“ -javaagent:lombok.jar”的地方。当我通过龙目岛安装安装它。此行已添加到-vmargs之后的最后一个参数。当我将其移至-vmargs旁边时。问题得到解决。


0

只是面对这个问题(生成的吸气剂的编译器错误),所提出的解决方案都没有帮助。

设置:Eclipse Oxygen(32位),SAP_JVM(32位),Lombok 1.16.18(正确安装了Eclipse插件)。

创建了一个普通的新测试项目,该项目就像一个魅力。然后删除失败的项目,然后从我的Github存储库中再次签出,从而修复了错误。只是从工作区中删除项目,然后再次导入它并没有帮助。


0

我正在使用Windows10。我按照以下步骤操作:

  • 在我的项目的pom.xml中添加了lombok依赖性
  • 在eclipse.ini文件中添加了“ -javaagent:{pathOfLombokJarInSystem}”。在我的案例中,路径为“ -javaagent:C:\ Users \ {username} .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.6 \ lombok-1.18.6.jar”
  • 开始蚀并执行了Maven>更新项目。

这为我解决了这个问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.