Difference between revisions of "Eclipse"

(Add infinitetest)
Line 1: Line 1:
 +
[[Category:Develoment]]
 +
 +
 
=Requirements=
 
=Requirements=
 +
 
Eclipse requires a Java JDK to work.
 
Eclipse requires a Java JDK to work.
 
See [[JDK setup|Java JDK setup]]
 
See [[JDK setup|Java JDK setup]]
Line 6: Line 10:
  
 
=Installation=
 
=Installation=
 +
 
Download eclipse from the official website: http://eclipse.org/downloads/
 
Download eclipse from the official website: http://eclipse.org/downloads/
  
Line 12: Line 17:
  
 
==Windows==
 
==Windows==
 +
 
Just extract the archive and run ./eclipse/eclipse.exe
 
Just extract the archive and run ./eclipse/eclipse.exe
  
Line 18: Line 24:
  
 
===Basic installation===
 
===Basic installation===
 +
 
* Download the eclipse.deb package
 
* Download the eclipse.deb package
 
* Install the package using:
 
* Install the package using:
 +
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
tar -xzvf eclipse.tar.gz
 
tar -xzvf eclipse.tar.gz
Line 28: Line 36:
  
 
===Create a desktop launcher===
 
===Create a desktop launcher===
 +
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo vim /usr/share/applications/eclipse.desktop
 
sudo vim /usr/share/applications/eclipse.desktop
Line 33: Line 42:
  
 
Put the following content where ''/home/guillaume/DEV/eclipse'' is the path to Eclipse.
 
Put the following content where ''/home/guillaume/DEV/eclipse'' is the path to Eclipse.
 +
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
[Desktop Entry]
 
[Desktop Entry]
Line 47: Line 57:
  
 
===Ubuntu 13.10 - launcher Fix===
 
===Ubuntu 13.10 - launcher Fix===
 +
 
If the menu doesn't appear correctly you must create the following launcher:
 
If the menu doesn't appear correctly you must create the following launcher:
 +
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
[Desktop Entry]
 
[Desktop Entry]
Line 64: Line 76:
  
 
===SWT libraries fixes===
 
===SWT libraries fixes===
 +
 
On the latest distribution Eclipse sometimes crashed due to libswt-*.so  
 
On the latest distribution Eclipse sometimes crashed due to libswt-*.so  
  
 
To resolve that, install the development libraries:
 
To resolve that, install the development libraries:
 +
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
apt-get install libx11-dev libxtst-dev libgl1-mesa-dev libglu1-mesa-dev libgtk-3-dev  
 
apt-get install libx11-dev libxtst-dev libgl1-mesa-dev libglu1-mesa-dev libgtk-3-dev  
Line 77: Line 91:
  
 
==JDK==
 
==JDK==
 +
 
Window menu -> Preferences -> Java -> Installed JRE
 
Window menu -> Preferences -> Java -> Installed JRE
 
     > Add the JDK as a standard VM
 
     > Add the JDK as a standard VM
 
     > JRE home = JDK root
 
     > JRE home = JDK root
 
     > Click "Finish"
 
     > Click "Finish"
 +
 
Select the new JDK as the default one
 
Select the new JDK as the default one
 
   
 
   
Line 88: Line 104:
  
 
==Display line numbers==  
 
==Display line numbers==  
 +
 
Window menu -> Preferences -> General -> Editors -> Text Editors  
 
Window menu -> Preferences -> General -> Editors -> Text Editors  
 
     > Enable show line numbers  
 
     > Enable show line numbers  
Line 94: Line 111:
  
 
==Increase console size==
 
==Increase console size==
 +
 
Window menu -> Preferences -> Run / debug -> Console
 
Window menu -> Preferences -> Run / debug -> Console
 
   
 
   
Line 100: Line 118:
  
 
==Adjust encoding to UTF-8==
 
==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.
 
By default Eclipse use the same encoding as your O.S, which is probably ISO-8859-1 .You should instead use UTF-8.
 
   
 
   
Line 138: Line 157:
  
 
===Import formatter===
 
===Import formatter===
 +
 
Window menu -> Preferences -> Java -> Code style -> Formatter
 
Window menu -> Preferences -> Java -> Code style -> Formatter
 
     > Import formatter   
 
     > Import formatter   
Line 144: Line 164:
  
 
===Save actions===
 
===Save actions===
 +
 
Before saving a java file, you can perform some "save actions", that will result in automatic formatting.
 
Before saving a java file, you can perform some "save actions", that will result in automatic formatting.
  

Revision as of 17:15, 10 June 2014


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.3.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"


SWT libraries fixes

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

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")

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.

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

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.


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 


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 !!


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



Oracle tools (Glassfish, etc.)

Installation

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

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

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"