Difference between revisions of "Eclipse"

(Eclipse Emma Code Coverage)
Line 267: Line 267:
 
   
 
   
 
'''Configuration'''
 
'''Configuration'''
 +
 
1. Just Right click on your test folder / test class -> Coverage as... -> jUnit test
 
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
 
2. You have to open the "Window menu -> Show view -> Java -> "Coverage" to get the analyze results
 
 
  
 
==Java Decompiler==
 
==Java Decompiler==

Revision as of 15:32, 10 March 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 !!


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"