5

lombokの Java プロジェクトに追加しましたeclipseeclipse.inifileの最後の 2 行を として追加する必要がありましたvmargs

-showlocation
-vm
/home/$USER/JavaSE8/jdk1.8/bin/java
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20150204-1316
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms500m
-Xmx2g
-Dorg.eclipse.swt.browser.XULRunnerPath=''
-javaagent:/home/$USER/eclipse/4.4-luna-SR2/lombok.jar
-Xbootclasspath/a:/home/$USER/eclipse/4.4-luna-SR2/lombok.jar

また、 (プロジェクト -> プロパティ -> ライブラリ) に追加lombok.jarし、Eclipse および JRE システム ライブラリ (rt.jar、resource. jarなど)すべて以下です。メインクラスが次のようにロードされる順序について混乱しています:librarieslombok.jarlombok.jarlombok

  1. eclipseが起動すると、クラスBootstrapローダはすべての JDK クラスを JRE のディレクトリにロードする必要があります。(しかし、lombok.jarJRE システム ライブラリの上にある Order and Export で上に移動したため、rt.jar は の後にロードされlombok.jarます。ほとんどの場合、いいえ?なぜなら、ブートストラップ ライブラリは常に最初にロードする必要があるからです!)

  2. -XBootstrapClasspath オプションの使用も再定義したためbootstrap classpath、lombok.jar は によってロードされBootstrap Classloaderます。

  3. その後Extensions classloader、JRE の lib\ext ディレクトリにクラスをロードします。

  4. 次に、CLASSPATH 環境変数で指定されたすべてのクラスと jar をロードします (このロードでは、ライブラリSystem-Classpath classloaderの順序が考慮されますか?)Order and Export

ClassLoading迷路を理解しようとしている初心者なので、ここで間違って解釈している場合は修正してください。

4

1 に答える 1