Tuesday, November 18, 2014

Eclipse and helpful plugins

I've been using Eclipse for years on Windows and around 4 months ago decided to use it on Linux so I can use PyDev instead of PyCharm for my Python development projects on Linux (PyCharm also works on both, I am just more familiar with Eclipse than Intellij so prefer to use that IDE).  Now I use PyDev on both my Linux and Windows enviroments and havent noticed a huge difference.  Once you figure out some of the quirks, using PyDev with Eclipse as my IDE has been a big time saver.

pre-reqs

  • java jdk
    • define JAVA_HOME
  • gradle
    • define GRADLE_HOME

Windows Install:

Debian Linux Install

  • download eclipse tar.gz file
  • extract it to /usr/share
  • add /usr/share/eclipse to PATH
    • vim ~/.profile or ~/.bashrc
      • PATH="$PATH:/usr/share/eclipse" 
  • vim /usr/share/eclipse/eclipse.ini and add
    • --launcher.GTK_version
    • 2
    • /usr/share/eclipse/eclipse.ini contents
      -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.v20140603-1326
      -product
      org.eclipse.epp.package.java.product
      --launcher.defaultAction
      openFile
      -showsplash
      org.eclipse.platform
      --launcher.XXMaxPermSize
      256m
      --launcher.defaultAction
      openFile
      --launcher.GTK_version
      2
      --launcher.appendVmargs
      -vmargs
      -Dosgi.requiredJavaVersion=1.6
      -XX:MaxPermSize=256m
      -Xms40m
      -Xmx512m

Plugins

to install plugins, start up Eclipse and go to (assumes Kepler or Luna versions of Eclipse):
Help -> Eclipse Marketplace ...
enter name of plugin in Finder.  below are some useful/necessary plugins
  • gradle: Gradle IDE Pack
  • git: EGit - Git Team Provider (comes by default with Luna)
  • maven: Maven Integration for Eclipse (comes by default with Luna)
  • pydev: PyDev - Python IDE for Eclipse
  • testng: TestNG for Eclipse 

Issues and Workarounds

JUnit test run fails with java.lang.SecurityException...hamcrest dependency

java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:952)
  .
  .
https://code.google.com/p/hamcrest/issues/detail?id=128
I had same problem with Eclipse+Maven+Hamcrest combination. The hamcrest-library-1.3.jar in maven dependencies had collision with Eclipse embedded Hamcrest. I found corresponding issue on Eclipse https://bugs.eclipse.org/bugs/show_bug.cgi?id=405276, but it is still not resolved in my Eclipse Version: Luna Release (4.4.0) Build id: 20140612-0600. So I found alternative simple solution:
    • rename the file $ECLIPSE_HOME\plugins\org.hamcrest.core_1.3.0.v201303031735.jar to something like *.bak or remove the file. Eclipse ignores the embedded Hamcrest :) and Maven dependencies will be used instead.

Wonky Eclipse maven project error

eclipse An internal error occurred during: "Updating Maven Project". Could not create bundle file.
  • open cmd box and cd to project dir
  • > mvn eclipse:eclipse
  • > mvn eclipse:clean
may need to refresh project in eclipse or delete project and reimport it.

No comments:

Post a Comment