Hosam Aly
Hosam Aly

Reputation: 42474

How do I configure JUnit's Source in Eclipse?

I am using Eclipse Galileo for Java EE, and I want to configure JUnit to show me the source code when I try to navigate to its methods. I've tried attaching source to the JUnit library, but the library definition is not editable. I cannot even find where to configure the JUnit library in the preferences.

When I open the Add Library window and choose JUnit, I see a dialog where I can choose the JUnit version, but it shows that Source Location is "not found".

How can I configure Eclipse to find JUnit's source?

Upvotes: 18

Views: 17923

Answers (4)

VonC
VonC

Reputation: 1330102

As mentioned in this thread, if you have downloaded the SDK version of Galileo, you have the sources of the main plugins.

For JUnit, this would be:

 <pathTo>\eclipse-SDK-3.5-win32-x86_64\eclipse\plugins\org.junit4.source_4.5.0.v20090423.jar

You can try to add that as a source file in the Source tab of a JUnit launcher configuration and see if that solves your issue when you are debugging your JUnit test and are stepping through JUnit native methods.

(Note: I have the x64 version of eclipse Galileo, but I believe the file is the same for the x32 or for other platforms)

Upvotes: 2

黄东辉
黄东辉

Reputation: 111

My eclipse version is 4.6.0, the only solution that has worked so far for me is to download the source file which named org.junit.source_4.12.0.v201504281640.jar from ftp://ftp.osuosl.org/pub/eclipse/eclipse/updates/4.6/R-4.6-201606061100/plugins/, then placed it into eclipse\plugins, afterwards restart eclipse then the source file has bound to the appropiate junit jar file automatically.

final result

Upvotes: 2

@Hosam Aly answer also works in Eclipse 4.3.1:

  1. The jar to download is here
  2. The text to append to eclipse\configuration\org.eclipse.equinox.source is org.junit.source,4.11.0.v201303080030,plugins/org.junit.source_4.11.0.v201303080030.jar,-1,false
  3. I did not need to change artifacts.xml

Upvotes: 1

Hosam Aly
Hosam Aly

Reputation: 42474

I downloaded the Eclipse SDK and checked the differences, and I finally got it to work.

  1. Download this JAR into your eclipse/plugins directory.

  2. Edit the file source.info in your eclipse/configuration/org.eclipse.equinox.source directory, and add the following line:

    org.junit4.source,4.5.0.v20090423,plugins/org.junit4.source_4.5.0.v20090423.jar,-1,false

  3. Open the file artifacts.xml in your eclipse directory, and add the following fragment:

    <artifact classifier='osgi.bundle' id='org.junit4.source' version='4.5.0.v20090423'>
      <properties size='2'>
        <property name='artifact.size' value='128389'/>
        <property name='download.size' value='128389'/>
      </properties>
    </artifact>
    
  4. If Eclipse is already open, you'll need to restart it for the changes to be detected.

Note: For Eclipse 3.6 (Helios), you should use the updated JAR(s). See the comments by @Supressingfire and @Milo.

Note: on Eclipse 3.6(Helios), step 3 (artifacts.xml) is not necessary.
Tested on Ubuntu Eclipse 3.6:
Version: Helios Service Release 2
Build id: 20110218-0911

Upvotes: 8

Related Questions