web-dev-qa-db-ja.com

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問題でまだセッター/ゲッターエラーが発生しています。

ユーザーのコード:

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

エラー:

The method getRole() is undefined for the type User 
20
Alex

私にとって、最新のEclipse Neon、つまりNeon 3をダウンロードすると問題が修正されました

1
Alex

libフォルダーに.jarを既に追加しているので、libに移動して_Java -jar lombok-1.16.4.jar_を実行すると、ウィザードが表示され、_Eclipse.ini_、これを完了したら、_Eclipse.ini_ファイルは次のようになります。

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

私にとってこれはうまくいきましたが、私は他の答えでそれを見つけました:

  • Eclipseをjustし、_File -> Exit_に移動してから再度開くことはできません。 ここから取得
  • クラスを再コンパイルしたことを確認するためだけに_mvn clean_を実行することを忘れないでください。 ここから取得
  • このすべての後、プロジェクトを右クリックして、_Maven -> Update Project_ ここから取得
38
imTachu

Eclipseにlombokを手動でインストールする方法がありますが、チェックしていませんが、おそらく役立つでしょう-

  1. コピーlombok.jar Eclipseフォルダーの場所Eclipse.ini

  2. 開いた Eclipse.ini、下の2行を最後に配置して保存します

    -Xbootclasspath/a:lombok.jar
    -javaagent:lombok.jar
    
  3. Eclipseを再起動します。

11
Yu Jiaao

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.jarEclipse.iniに追加します。

しかし、desktop-shortcutを使用でEclipseを起動すると、ロンボクなしで起動します(「ヘルプ」->「Eclipseについて」を参照して確認します)。 Eclipse.iniファイルの横にある実行可能ファイルEclipseを実行してEclipseを起動すると、ロンボクはチャームのように起動します。

そのため、デスクトップショートカット(例:~/.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をインストールした場所です。

5
mam10eks

Antoniolazaro はMacOSでのEclipse Neonの問題の解決策を提供しました

完全なパスを入力すると、Mac OSで機能します。

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

リソースリンク:

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

そして、ロンボクのプロジェクトオーナー 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を他のサードパーティの依存関係と同じ依存関係(たとえば、guavaなど)としてプロジェクトに追加する必要があります。実際にそれを行ったかどうかは、問題の説明から明らかではありません。

リソースリンク:

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

5
SkyWalker

以下の手順(最初に以下の手順を試してください)を実行した後でも、機能しない場合、Eclipseがインストールされているフォルダーからではなく、デスクトップからEclipseを使用している可能性があります。デスクトップからEclipseを実行すると、.iniファイルをロードできないことがあるため、lombokは実行されません。したがって、インストールしたフォルダーからEclipseを実行してみてください

手順:1. pomでlombok依存関係を指定してビルドします。

  1. Lombok.jarは通常、フォルダー。m2/repository/org/projectlombok/lombok/1.x.yにダウンロードされます。
  2. Jarをフォルダー "Java -jar lombok-1.x.y.jar"にインストールします
  3. 次に、IDEを選択するように求められます。 Eclipseインストールフォルダーを参照し、そこからEclipseを選択します。
  4. これで、Eclipseインストールフォルダーにlombok.jarが含まれ、Eclipse.iniに-javaagent:/lombok.jarという行が含まれるようになります。

  5. インストールフォルダーからEclipseを実行します。プロジェクトをクリーンにして再構築します。 今すぐ動作するはずです!

2
moovon

クラスの@Dataアノテーションを試してください。

public @Data class user{
 \\do stuff
 }
1
mike

私の環境は:

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
1
rafambbr

私は最近この問題に直面しており、上記のユーザーが言及した上記のソリューションはすべて機能しませんでした。私が抱えていた問題は、Eclipseへのパス(Eclipse.iniファイルの最終行にあります)に「$」のような特別なシンボルがあることでした。同じ理由により、lombokはファイルを識別できず、Eclipse.iniファイルに必要な2行を追加できません。 Eclipseの「-」、「$」、「_」などの特殊文字を削除して、muの問題を修正しました

0
Sushi kumar

上記の返信について詳しく説明するには:

  • 問題:

    私のシナリオでは:

    1. SpringBoot STSをEclipse Photonの下にインストールしました。
    2. ASpring Boot/Gradle buildプロジェクトを作成し、Lombok @Dataを使用して「undefined method」エラーが発生しました。
    3. 環境:Ubuntu Linux 18.04。
  • 解決:

    1. cd〜/ .gradle/cache /.../ lombok/...;
    2. Java -jar lombok-1.16.22.jar
  • 注意:

    Java -jar lombok*.jarは、GUIを表示します。

    1. 更新するEclipseインストールを選択できます。
    2. Eclipse.iniを更新します[〜#〜] and [〜#〜] ...
    3. lombok-xyz.jarとしてEclipseのインストールフォルダーにlombok.jarをコピーします。
0
paulsm4

ここにはすでに多くの答えがありますが、与えられた答えのどれも私の問題を解決しませんでしたので、誰かを助けるかもしれない場合にもここに私の情報を追加します:

My setup is:
Win10 Home,
Eclipse Version: Oxygen.3a Release (4.7.3a),
Eclipse Build id: 20180405-1200,
  1. Pom.xmlにlombokを追加します
  2. mvnクリーンインストール
  3. eclipseを閉じる
  4. .m2フォルダー.m2\repository\org\projectlombok\lombok\1.18.6>に移動します
  5. 実行:Java -jar .\lombok-1.18.6.jar(またはお持ちのバージョン
  6. ロンボクをインストールする

今では興味をそそられています。インストールにより、Eclipse.iniに以下が追加されました。

-javaagent:lombok.jar

私の.iniファイルの一番下にそれらを配置しました。このように見えました。

--launcher.appendVmargs
-vmargs
-...
--add-modules=ALL-SYSTEM
-javaagent:lombok.jar

-javaagent:lombok.jar-vmargsに属すると想定したため、--launcher.appendVmargsの下部に配置しました。それも機能しませんでした。しかし、-javaagent:lombok.jarrightを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
[email protected]/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.jalikeを追加することを忘れないでください。

0

eclipseを終了し、Eclipseディレクトリに移動してEclipse.iniを開き、-cleanを上部に追加して、Eclipseを再実行します。あなたの問題が解決されることを願っています。

0
Somnath Singh

私に関する限り、Windows上のEclipseの「チョコレート」ディストリビューションを使用しています。

あまり変わりません。しかし、デスクトップの管理者でない人にとっては、ChocolateyがC:\ProgramData\...これは「admin」ディレクトリです。

言い換えれば、デスクトップの管理者でない限り実行できないショートカットの「開始」プロパティの変更が必要になる場合があります。

ここで私のために働いたトリックは、Eclipse.iniがあるディレクトリでEclipseを起動するための正しい「開始」プロパティを持つ新しいショートカットを作成することでした...

次に、Eclipseを使用して再コンパイルし、Eclipseがlombokがインストールされたことを認識するまでプロジェクトを少し作業します...

乾杯

0
avi.elkharrat

上記のようにlombokをインストールした後、プロジェクトフォルダーを右クリックする必要がありました->実行-> Maven clean。 Neは.jarが検出され、適切に使用されます

0
medTech

Lombokをインストールしたら、lombok.jarをプロジェクトにコピーするか、Maven構成xmlファイルに依存関係を追加する必要があります

0
loc huynh