Difference between revisions of "Eclipse"

Line 2: Line 2:
 
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 15: Line 16:
 
   
 
   
 
==Linux==
 
==Linux==
 +
 
===Basic installation===
 
===Basic installation===
 
* Download the eclipse.deb package
 
* Download the eclipse.deb package
Line 72: Line 74:
  
 
=Eclipse configuration=
 
=Eclipse configuration=
 +
  
 
==JDK==
 
==JDK==
Line 102: Line 105:
 
   
 
   
 
At the bottom of the script, choose "UTF-8"
 
At the bottom of the script, choose "UTF-8"
 
 
[[File:Eclipse utf8 encoding 1.png|none|Eclipse UTF-8 encoding(1)]]
 
[[File:Eclipse utf8 encoding 1.png|none|Eclipse UTF-8 encoding(1)]]
  
Line 113: Line 115:
  
 
Encode CSS + HTML + JSP + XML in UTF-8
 
Encode CSS + HTML + JSP + XML in UTF-8
 
 
[[File:Eclipse utf8 encoding 3.png|none|Eclipse UTF-8 encoding(3)]]
 
[[File:Eclipse utf8 encoding 3.png|none|Eclipse UTF-8 encoding(3)]]
  
Line 135: Line 136:
  
 
==Code formatting==
 
==Code formatting==
 +
 
===Import formatter===
 
===Import formatter===
 
Window menu -> Preferences -> Java -> Code style -> Formatter
 
Window menu -> Preferences -> Java -> Code style -> Formatter
Line 141: Line 143:
 
[[File:eclipse_formatter.png|none|Eclipse formatter]]
 
[[File:eclipse_formatter.png|none|Eclipse formatter]]
  
===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.
  
 
Window menu -> Preferences -> Java -> Editor -> Save Actions
 
Window menu -> Preferences -> Java -> Editor -> Save Actions
Enable Perform the selected actions on save
+
Enable Perform the selected actions on save:
 
 
 
[[File:eclipse_save_actions.png|none|Eclipse save actions]]
 
[[File:eclipse_save_actions.png|none|Eclipse save actions]]
 
   
 
   
Line 169: Line 170:
 
**Remove unused imports
 
**Remove unused imports
 
**Remove unnecessary casts + '$NON-NLS' tags
 
**Remove unnecessary casts + '$NON-NLS' tags
 +
  
  
Line 174: Line 176:
  
 
Eclipse marketplace: http://marketplace.eclipse.org/
 
Eclipse marketplace: http://marketplace.eclipse.org/
 
  
  
Line 227: Line 228:
  
 
==Checkstyle==
 
==Checkstyle==
 +
  
 
===Installation===
 
===Installation===
Line 236: Line 238:
 
* All additional checks   
 
* All additional checks   
 
   
 
   
 +
 
===Configuration===
 
===Configuration===
 
Window menu -> Preferences -> Checkstyle
 
Window menu -> Preferences -> Checkstyle
Line 249: Line 252:
 
I strongly advised you to commit your formatter.xml; checkstyle.xml; code_templates.xml; cleanup.xml into your SVN project.
 
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) !! :-)
 
   
 
   
Enable
+
'''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 ...)
 
   
 
   
1. You have to enable / disable checkstyle for each one of your projects
+
 
    Right click on a project -> Properties -> Checkstyle -> Enable checkstyle for this project
+
===Installation===
+
Update site:
2. You have to open the "Window menu -> Show view -> Others... -> Checkstyle -> Checkstyle violations" to get the analyze results
+
* SVN 1.7 =  http://subclipse.tigris.org/update_1.8.x 
 +
* SVN 1.8 =  http://subclipse.tigris.org/update_1.10.
 
   
 
   
 +
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
 +
 
   
 
   
==JavaHL for Subclipse==
+
===Linux # JavaHL for Subclipse===
Source: [http://subclipse.tigris.org/wiki/JavaHL Subclipse JavaHL wiki]
+
Source: http://subclipse.tigris.org/wiki/JavaHL Subclipse JavaHL wiki
  
 
Linux requires the JavaHL client for Subclipse:
 
Linux requires the JavaHL client for Subclipse:

Revision as of 12:54, 26 January 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 !!