Eclipse

Revision as of 20:06, 30 September 2016 by WikiFreak (talk | contribs) (Gradle)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Requirements

Eclipse requires a Java JDK to work. See Java JDK setup


Installation

Download eclipse from the official website: http://eclipse.org/downloads/

Take the Eclipse IDE for Java EE developers version.


Windows

Just extract the archive and run ./eclipse/eclipse.exe


Linux

Basic installation

  • Download the eclipse.deb package
  • Install the package using:
tar -xzvf eclipse.tar.gz
  • Launch application by running ./eclipse/eclipse


Create a desktop launcher

sudo vim /usr/share/applications/eclipse.desktop

Put the following content where /home/guillaume/DEV/eclipse is the path to Eclipse.

[Desktop Entry]
Version=4.5.0
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/guillaume/Dev/eclipse/eclipse -clean
Icon=/home/guillaume/Dev/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application

Ubuntu 13.10 - launcher Fix

If the menu doesn't appear correctly you must create the following launcher:

[Desktop Entry]
Version=4.3.0
Name=Eclipse
Comment=IDE for all seasons
Exec=env UBUNTU_MENUPROXY=0 /home/guillaume/DEV/eclipse/eclipse -clean
Icon=/home/guillaume/DEV/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application

Don't forget the Exec=... line! The key is "env UBUNTU MENUPROXY=0"


Ubuntu 16.04 - launcher Fix

If the menu doesn't appear correctly you must create the following launcher:

[Desktop Entry]
Version=4.6.0
Name=Eclipse
Comment=Spring Tool Suite
Exec=env SWT_GTK3=0 UBUNTU_MENUPROXY=0 /mnt/temp/Dev/sts-bundle/sts-3.8.1.RELEASE/STS -clean
Icon=/mnt/temp/Dev/sts-bundle/sts-3.8.1.RELEASE/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application;Programming
StartupNotify=true

Don't forget the Exec=... line! The key is "env UBUNTU MENUPROXY=0"



SWT libraries fixes

Quick fix


Edit your eclipse.ini and add the following 2 lines before --launcher.appendVmargs

--launcher.GTK_version
2

Source: https://bbs.archlinux.org/viewtopic.php?id=200053



Alternate fix (old)


On the latest distribution Eclipse sometimes crashed due to libswt-*.so

To resolve that, install the development libraries:

apt-get install libx11-dev libxtst-dev libgl1-mesa-dev libglu1-mesa-dev libgtk-3-dev


Eclipse configuration

Set theme

Window menu -> Preferences -> General -> Appearance

    > Theme
    > personal choose: DARK
    > Restart Eclipse


JDK

Window menu -> Preferences -> Java -> Installed JRE

    > Add the JDK as a standard VM
    > JRE home = JDK root
    > Click "Finish"

Select the new JDK as the default one

Preferences -> Java -> Installed JRE -> Execution Environment

    > For each java version adjust the JVM to use

Display line numbers

Window menu -> Preferences -> General -> Editors -> Text Editors

    > Enable show line numbers 
    > show print margin (you can adjust the size. I'm using "160")

Set spaces for tab

I recommend you to use spaces instead of tab, this way the source code will always look the same on all platforms.

Window menu -> Preferences -> General -> Editors -> Text Editors

    > Insert spaces for tabs (tab width = 4) 

Increase console size

Window menu -> Preferences -> Run / debug -> Console

If you limit the console output put a hudge value (>= 100 000)


Adjust encoding to UTF-8

By default Eclipse use the same encoding as your O.S, which is probably ISO-8859-1 .You should instead use UTF-8.

>> This is VERY important if you're not all using the same O.S ; or if production is different than development

Window menu -> Preferences -> General -> Workspace

At the bottom of the script, choose "UTF-8"

Eclipse UTF-8 encoding(1)

Window menu -> Preferences -> General -> Editors -> Text Editors -> Spelling

Choose UTF-8 to encode javadoc

Eclipse UTF-8 encoding(2)

Window menu -> Preferences -> General -> filter "encoding"

Encode CSS + HTML + JSP + XML in UTF-8

Eclipse UTF-8 encoding(3)

On the General -> Content Types, check that everything has default encoding: UTF-8. If the default encoding is blank, then add "UTF-8"

Check:

  • Android Binary XML (if available)
  • Diagram (if available)
  • JAR Content
  • Java class File
  • Text
    • HTML
    • Java properties file
    • JSP
      • CSS JSP
      • JSP fragment
      • JSP Tag definition
    • XML


Code formatting

You can download the Google formatter from here: https://github.com/google/styleguide

Details http://google.github.io/styleguide/javaguide.html


Installing the coding style settings

  • Intellij
    • Download the intellij-java-google-style.xml
    • Copy it into your config -> codestyles folder in your IntelliJ settings folder
    • Under Settings -> Code Style -> select google-styleguide as current code style for the metanome project.
  • Eclipse
    • Download the eclipse-java-google-style.xml
    • Under Window -> Preferences -> Java -> Code Style -> Formatter.
    • Import the settings file by selecting Import.


Import formatter

Window menu -> Preferences -> Java -> Code style -> Formatter

    > Import formatter  
Eclipse formatter

Save actions

Before saving a java file, you can perform some "save actions", that will result in automatic formatting.

Window menu -> Preferences -> Java -> Editor -> Save Actions Enable Perform the selected actions on save:

Eclipse save actions

Check:

  • Perform save actions
    • Format source code
      • format ALL lines
    • Organize imports
    • Additional actions

... Configure additional actions:

  • Code organizing
  • Remove trailing whitespace (all lines)
  • Correct indentation
  • Sort members
  • Code style
    • Use block in if/while/for/do statements (always)
    • Use modifer "final" where possible (parameter)
  • Missing code
    • Select all
  • Unnecessary code
    • Remove unused imports
    • Remove unnecessary casts + '$NON-NLS' tags

Eclipse plug-ins

Eclipse marketplace: http://marketplace.eclipse.org/


Maven

Plugins installation and configuration


Maven plugin settings

Window menu -> Preferences -> Maven

Enable:

  • download artifact sources
  • download artifact javadoc

Window menu -> Preferences -> Maven -> Installation

    > Add the path to your own MAVEN 3 installation

Window menu -> Preferences -> Maven -> User Interface

    >Open XML page in the POM editor by default [VERY important for performances]

Window menu -> Preferences -> Maven -> User Settings

  • Choose the correct settings.xml (the one from your Maven installation instead of ~/.m2/)
  • Set the repository path


Run configurations

You can run MAVEN from Eclipse thanks to the run configurations.

Run menu -> Run Configurations -> Maven Build -> [Double click on it]

Create a new run configuration for each maven sequence.

  • Configuration (1)
    • Name: Maven clean install
    • Base directory: ${project_loc}
    • Goals: clean install
  • Configuration (2) #
    • Name: Maven clean install -DskipTests
    • Base directory: ${project_loc}
    • Goals: clean install
    • Options: select "Skip Tests"


Add run configurations to favorite

Click on the arrow of the RUN button (left side) -> Organize favorites

Eclipse run command

Click "ADD" > Select your configurations Now, you can run your configurations by using the same button.


Gradle

  • STS : Install "Buildship"

See https://marketplace.eclipse.org/content/buildship-gradle-integration


Configuration

Gradle > Set Gradle distribution folder + enable Remaps and Use custom Tooling Model

GitHub markdown viewer

To view your GitHub README content you might want to install "GitHub Flavored Markdown viewer plugin"

http://marketplace.eclipse.org/content/github-flavored-markdown-viewer-plugin


Then you can see your file content by right clicking README.md > Show in GFM view


Checkstyle

Installation

Checkstyle Plug-in

    > Update site:     http://eclipse-cs.sourceforge.net/update/

Install:

  • Eclipse checkstyle plug-in
  • All additional checks


Configuration

Window menu -> Preferences -> Checkstyle

Eclipse checkstyle

You can either:

  • Import your own checkstyle set of rule (new -> external configuration file -> browse to your own checkstyle -> set it as default)
  • Set the "Sun Check (Eclipse)" as default.
  • Duplicate the "Sun Check (Eclipse)" + make your own arrangements and use it as default


-- hint: -- I strongly advised you to commit your formatter.xml; checkstyle.xml; code_templates.xml; cleanup.xml into your SVN project.


Usage

You have to enable / disable checkstyle for each one of your projects.

    > Right click on a project -> Properties -> Checkstyle -> Enable checkstyle for this project

You have to open the "Window menu -> Show view -> Others... -> Checkstyle -> Checkstyle violations" to get the analyze results


Eclipse Emma Code Coverage

!! This is a very useful tool that compute the code coverage for jUnit tests (unit & integrations tests) !! :-)

Installation

    > Update site : http://update.eclemma.org/

Configuration

1. Just Right click on your test folder / test class -> Coverage as... -> jUnit test

2. You have to open the "Window menu -> Show view -> Java -> "Coverage" to get the analyze results


Java Decompiler

The most famous java decompiler: JADclipse.

    > Update site: http://jadclipse.sf.net/update 


FindBugs

FindBugs helps you to detect strange code patterns.


To use it, just right click on your project > find Bugs > find bugs


SonarQube

If you want to enjoy the SONAR reports within Eclipse you can install the SonarQube plugin.


SVN Subclipse

The SVN subclipse exists in many version. You have to select your version accordingly to your SVN server (v1.6, v1.7, v1.8 ...)


Installation

Update site:

Install:

  • Subclipse
    • Subclipse (required)
    • Subclipse integration for Mylyn 3.x
    • Subversion client adapter
    • Subversion JavaHL Native Library adapter
    • Subversion revision graph

The CollabNet is also very useful to branch and merges branch > trunk ! :)

    • CollabNet - collaboration Merge client

Linux # JavaHL for Subclipse

Source: http://subclipse.tigris.org/wiki/JavaHL Subclipse JavaHL wiki

Linux requires the JavaHL client for Subclipse:

sudo apt-get install libsvn-java

Find the library file:

sudo find / -name libsvnjavahl-1.so

You should have something like:

guillaume@VC076:~/DEV/eclipse$ sudo find / -name libsvnjavahl-1.so
/usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so

Now, update your eclipse.ini configuration

vim eclipse.ini

Add the path without '/' at the end.

-vmargs
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni

→ Note: Ubuntu 13.10 as only the JavaHL 1.7 library. So you should not install SVN client 1.8.x but SVN client 1.7.x !!


GIT client

Install the GIT client & its console:


Infinite test (infinitest)

Source: http://infinitest.github.io/


Installation

Update site: http://infinitest.github.io

Just install the plugin and restart.

Then you have to enable the plugin in Window -> Preferences -> infinitest

Infinitest configuration


Then it should run all your tests. :)


Test filter

You can add some filters by adding the following "infinitest.filters" at the root. Example:

Infinitest filter


File name:

infinitest.filters


File content:

.*IT


E(fx)clipse

e(fx)clipse is a super nice plugin to develop in JavaFX 2!


You need to install Oracle Java FX UI builder as well.

♦♠ Since JDK 8.40 Oracle does NOT ship JavaFX UI Scene Builder !! :O... Only the source code. Thanks to the community, you can download Scene builder from Gluon on http://gluonhq.com/products/scene-builder/


JBoss tools (Wildfly, etc.)

Download and install a local server. see Wildfly


Installation

Go to the official website to get the latest plugin for your Eclipse version: http://tools.jboss.org/downloads/jbosstools/


Global configuration

Window menu -> Preferences -> Server -> Runtime environments

  1. Screen 1
  • Add > JBoss community > Wildfly 8.x Runtime
  • Click next
  1. Screen 2
  • Choose the server folder
  1. Screen 3
  • Admin name: admin
  • Admin pwd: admin
  • As this is a dev environment do not preserve sessions accross redeployment


Ports:

  • 8080 for applications
  • 9990 for management



Oracle tools (Glassfish, etc.)

Download and install a local server, see Glassfish


Installation

Update site: http://download.oracle.com/otn_software/oepe/luna

!!! Don't forget to adjust the URL for your specific Eclipse version !!!

  • kepler = Eclipse 4.3
  • luna = Eclipse 4.4


Install:

  • Glassfish tools
  • Java EE 7 documentation
  • Oracle Java EE tools


Global configuration

Window menu -> Preferences -> Server -> Runtime environments

  1. Screen 1
  • Add > Glassfish > server version (4.0)
  • Check the "create a new local server" option
  • Click next
  1. Screen 2
  • Choose the server folder > Glassfish4/glassfish
  1. Screen 3
  • Admin name: admin
  • Admin pwd: admin
  • As this is a dev environment do not preserve sessions accross redeployment

Server configuration

Open the view Server -> Double click on your Glassfish server

Under Publishing, select "never publish automatically"



Improvements

Eclipse Color themes

    > Update site: http://eclipse-color-theme.github.com/update

Configuration Window menu -> Preferences -> General -> Appareance -> Color Theme

You can choose a theme and / or import a new one.

  • To intelliJ users: the dracula theme is available on Eclipse.


Get more themes

You can download Eclipse theme from the official website: http://eclipsecolorthemes.org/


Copy workspace settings

To copy Eclipse settings into a new workspace:

Copy the .metadata/.plugins/org.eclipse.core.runtime/.settings directory into your new workspace directory.


Avoid commit Eclipse files

You can avoid commit of non-useful files, just update the global SVN ignore.

Window menu -> Preferences -> Team -> Ignored Resources

Add patterns:

  • "target"
  • ".settings"
  • ".project"
  • ".classpath"
  • ".checkstyle"