我下载了lombok.jar(lombok-1.16.14.jar)把它放到我的下载中。然后我点击了这个jar,执行正确识别了MacOS上的Eclipse实例,然后我选择了我想要的实例。 Lombok也在pom.xml中指定 org.projectlombok 龙目岛 14年1月16日 提供
在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
答案 0 :(得分:36)
由于您已将.jar添加到lib
文件夹,因此请转到lib
并执行java -jar lombok-1.16.4.jar
,您会看到一个向导,指定eclipse.ini
的位置,完成此操作后,您的eclipse.ini
文件应如下所示:
-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
对我来说这很好用,但我在其他答案中找到了:
File -> Exit
,然后再次打开它。 taken from here mvn clean
只是为了确保您重新编译了课程。 taken from here Maven -> Update Project
taken from here 答案 1 :(得分:10)
有一种手动方式在eclipse下安装lombok
,我没有检查它,但它可能会帮助你 -
将lombok.jar
复制到您的eclipse文件夹所在的位置eclipse.ini
打开eclipse.ini
,将下面的两行放在最后并保存
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
重新启动eclipse
。
答案 2 :(得分:5)
Antoniolazaro已经为MacOS上的Eclipse Neon问题提供了解决方案
当我输入完整路径时,它适用于Mac Os。
-javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar
lombok项目所有者rzwitserloot提供了3条检查建议
'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;
我们喜欢这样:没有任何瑕疵。那么,那部分
(卸载程序无法找到自定义安装位置和
要求你再次指明它不是一个错误。lombok.jar
作为依赖项添加到项目中
与任何其他第三方依赖相同(类似于番石榴,用于
例)。如果你的话,你的问题描述中并不清楚
实际上是这样做的。答案 3 :(得分:5)
我遇到了问题,我以前开始使用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:<ABSOLUTE_PATH_TO_ECLIPSE_INSTALLATION>/lombok.jar
添加到eclipse.ini
。
但如果我通过使用我的桌面快捷方式启动eclipse,它会在没有lombok的情况下启动(通过查看“帮助” - >“关于Eclipse”查看)。
如果我通过执行eclipse
文件旁边的可执行文件eclipse.ini
来启动eclipse,那么lombok会像魅力一样启动。
因此,我检查了我的桌面快捷方式(例如~/.local/share/applications/eclipse.desktop
),实际上,它在没有反映eclipse.ini
的情况下启动了eclipse。
相反,它使用类似/usr/bin/java -jar org.eclipse.equinox.launcher.jar ...
的东西来启动eclipse。
因此,解决方案是通过以下方式替换桌面快捷方式中的旧Exec
行:
Exec=/opt/eclipse/neon/eclipse
其中/opt/eclipse/neon/
是我安装eclipse的地方。
答案 4 :(得分:2)
即使按照以下步骤操作(请先尝试以下给出的步骤),如果仍然不能执行操作,则问题可能是您是从桌面而不是从安装eclipse的文件夹中使用eclipse。从桌面运行Eclipse有时无法加载.ini文件,因此lombok无法运行。因此, 尝试从安装它的文件夹中运行eclipse 。
步骤: 1.在pom中提供lombok依赖项并进行构建。
现在,您的eclipse安装文件夹应包含lombok.jar,而eclipse.ini应包含以下行 -javaagent:/lombok.jar
从安装文件夹运行eclipse。清理并重建项目。 现在应该可以使用!
答案 5 :(得分:1)
为该类尝试@Data注释。
public @Data class user{
\\do stuff
}
答案 6 :(得分:1)
对我来说,下载最新的Eclipse Neon,即Neon 3,修复了问题
答案 7 :(得分:1)
我的环境是:
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
答案 8 :(得分:0)
对于Mac(High Sierra)上的Eclipse霓虹灯:
使用lombok 1.16.14或更高版本。
安装程序通过运行(双击)lombok-1.16.14.jar
文件本身来启动。它应该检测已安装的版本。
在Mac上,它仅从Applications目录检测Eclipse.app。如果没有,您可以在弹出对话框中告诉jar在哪里找到它。请注意,您应该将其指向eclipse.ini
文件(Eclipse.app->显示应用程序内容-> eclipse-> eclipse.ini)
龙目岛的较低版本在High Sierra上不起作用。他们不检测已安装的Eclipse实例。
最后记得要重新启动Eclipse(通过File-> exit)并运行maven update project。
答案 9 :(得分:0)
只需将此语句添加到eclipse.ini文件中即可(或检查是否已保存):
-Xbootclasspath / a:lombok.jar
-javaagent:lombok.jar
请注意,通常您只有:
-javaagent:lombok.jar
很明显重新开始日食
答案 10 :(得分:0)
答案 11 :(得分:0)
对于,在如上所述安装了lombok之后,我必须右键单击您的项目文件夹-> Run as-> Maven clean。 Ne .jar已被检测并正确使用
答案 12 :(得分:0)
我最近遇到了这个问题,上述用户提到的所有上述解决方案均无效。我遇到的问题是路径中有特殊符号,例如“ $”(可以在eclipse.ini文件的最后一行找到)。由于相同的原因,lombok无法识别该文件,并在eclipse.ini文件中附加了必要的两行。删除我的蚀路径中固定字符问题中的特殊字符,例如“-”,“ $”,“ _”
答案 13 :(得分:0)
虽然这里已经有很多答案,但是给出的答案都不能解决我的问题,因此,我也会在此处添加我的信息,以防可能对某人有所帮助:
My setup is:
Win10 Home,
Eclipse Version: Oxygen.3a Release (4.7.3a),
Eclipse Build id: 20180405-1200,
.m2\repository\org\projectlombok\lombok\1.18.6>
java -jar .\lombok-1.18.6.jar
(或您使用的任何版本现在越来越有趣了。安装将以下内容添加到我的eclipse.ini中:
-javaagent:lombok.jar
它如何将它们放置在我的.ini文件的底部。所以看起来像这样。
--launcher.appendVmargs
-vmargs
-...
--add-modules=ALL-SYSTEM
-javaagent:lombok.jar
我假设-javaagent:lombok.jar
属于-vmargs
之下,所以我将其放在--launcher.appendVmargs
的底部。那也不行。但是,当我将-javaagent:lombok.jar
放在vmargs
的正下方时,它可以工作。最终,我的eclipse.ini看起来像这样:
--launcher.appendVmargs
-vmargs
-javaagent:lombok.jar # lombok works for me if this is here
-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/
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
#-javaagent:lombok.jar | lombok doesn't work for me if its placed here.
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
不确定为什么会出现此问题,但也许可以为您提供帮助。如果您使用的是macOS,请记住在此线程建议中像其他答案一样添加-Xbootclasspath/a:lombok.ja
。
答案 14 :(得分:0)
详细说明以上答复:
问题:
在我的情况下:
Eclipse Photon
下安装了SpringBoot STS,Spring Boot/Gradle build
项目,并使用Lombok @Data
遇到了“未定义的方法”错误。 解决方案:
注意:
java -jar lombok*.jar
弹出一个
lombok-xyz.jar
复制为lombok.jar
到Eclipse安装文件夹中。答案 15 :(得分:0)
退出eclipse,然后转到eclipse目录并打开eclipse.ini
并在顶部添加-clean
并重新运行eclipse。希望你的问题得到解决。
答案 16 :(得分:0)
安装lombok之后,需要将lombok.jar复制到项目中或在maven配置xml文件中添加依赖项
答案 17 :(得分:0)
就我而言,我在Windows上使用Eclipse的“Chocolatey”发行版。
它没有太大变化。但对于那些不是桌面管理员的人来说,这可能很麻烦,因为Chocolatey在C:\ProgramData\...
中安装了软件,这是一个“管理员”目录。
换句话说,您可能需要修改快捷方式的属性“start in”,除非您是桌面管理员,否则无法进行此操作。
这里有用的技巧是创建一个新的快捷方式,它具有正确的“start in”属性,可以在eclipse.ini所在的目录中启动eclipse ...
然后使用eclipse重新编译,然后对你的项目进行一些处理,直到eclipse意识到已经安装了lombok ......
干杯