Infowarning |
---|
July 19, 2010: These instructions are out-of-date, confusing and need a full review. If you are using Eclipse with DSpace for development, please help us to simplify and clarify these instructions. Please, work with the new page at DSpace IDE - Eclipse, Git, Maven, and Tomcat. |
Table of Contents | ||||
---|---|---|---|---|
|
Eclipse Tools: Prerequisite Installation
...
In Eclipse select "Help --> Install New Software...".
In the drop down list select "Helios - http://download.eclipse.org/release/helios."
From the list select "Collaboration --> Subversive SVN Team Provider"
Click the "Next >" button and follow the dialogs to install the plugins.
Restart Eclipse.
Eclipse ask you which Subversive Connector you want to use. Choose SVN Kit or JavaHL.
...
Unfortunately, there is no remote URL location for the sysdeo plugin. You will have to manually download the plugin and unzip it into the [eclipse]
/plugins
directory. Also, you will need to have Tomcat installed locally. Obtain the latest version of Tomcat from: http://jakarta.apache.org/tomcat
...
Install the most recent version of the plugin using the below remote URL.
Remote URL: http://m2eclipse.sonatype.org/update/
The remote URL for the m2eclipse project has moved to: http://m2eclipse.sonatype.org/sites/m2e
Web Standard Tools (optional)
...
- Download the DSpace's Coding Conventions config file: dspace-eclipse-format.xml\|IDE Integration - DSpace, Eclipse and Tomcat^dspace-eclipse-format.xml|||^Dspace-eclipse-format.xml|^Dspace-eclipse-format.xml|\Install either as workspace default or for your individual DSpace project(s).
- #* (Workspace Default) Select Window -> Preferences in Eclipse. Go to the Java -> Code Style -> Formatter. Click the "Import..." button and select the file.
- (Individual Project) Right click on the DSpace project, select Properties. Go to the Java -> Code Style -> Formatter. Click the "Import..." button and select the file.
...
- Open the Tomcat preferences pane: Window -> Preferences -> Tomcat
- Select your installed Tomcat version, and its home page (hit Apply when finished). For example:
- Tomcat Version: 6.x
- Tomcat Home: /opt/tomcat6
- Under Tomcat -> Advanced, enter the Tomcat Base (hit Apply when finished). This should generally be the same as the Tomcat Home:
- Tomcat Base: /opt/tomcat6
- Under Tomcat -> JVM Settings, you need to enter the JDK's
tools.jar
file for the "Classpath (before generated classpath)". You should find this in the directory[installed jdk]/lib/tools.jar
Note: If you are using Mac OS X, thetools.jar
library does not exist on the platform. Instead usingclasses.jar
found at:/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Classes/classes.jar
- Under Tomcat -> Tomcat Manager App, enter a username and password for the desired manager user. If this user doesn't already exist hit "Add user to tomcat-users.xml" (hit Apply when finished)
...
(If you are working with DSpace 1.5 see the Working with DSpace 1.5 section after this)unmigrated-wiki-markup
_NEEDS UPDATING -- – Not sure this actually works\! \ [15 Apr 2008\]_
Checking out DSpace as a Tomcat Project
...
The installation path you give should be:
Code Block |
---|
dspace.dir = <workspace>/dspace/working-copy
|
where <workspace> is the absolute path to your Eclipse workspace, and "working-copy" is the name of the directory into which we will install the DSpace application. Other configuration that you should ensure are set correctly are as follows (assuming installation on the local machine):
Code Block |
---|
# DSpace base URL. Include port number etc., but NOT trailing slash
dspace.url = http://localhost:8080/dspace-svn
# DSpace host name - should match base URL. Do not include port number
dspace.hostname = localhost
# Name of the site
dspace.name = DSpace 1.4.x in Eclipse
|
...
The following resources will be needed to be set to SVN Ignore, to ensure that unwanted resources are not committed to the repository:
Code Block |
---|
.cvsignore
.tomcatproject
build/
jsp/local
jsp/WEB-INF/lib
jsp/WEB-INF/web.xml
work
working-copy
|
...
dspace
- The root module, which builds all of DSpace and holds the DSpace configurationsdspace-api
- The DSpace API module, which contains all the primary business logic (Java code)dspace-jspui
- The JSP-based User Interface for DSpacedspace-xmlui
- The XML-based User Interface for DSpace (also known as Manakin)dspace-xmlui-api
- The primary API for the XML-UI for DSpace (including all Aspect Java code)dspace-xmlui-wing
- The Digital Repository Interface (DRI) API for XML-UIdspace-xmlui-webapp
- The XML-UI web application configurations (including all Aspect & Theme definitions)
dspace-oai
- The OAI-PMH interface for DSpacedspace-lni
- The Lightweight Network Interface (LNI) for DSpacedspace-lni-core
- The primary API for LNIdspace-lni-client
- The client API for LNI (along with a simple sample client)dspace-lni-webapp
- The LNI web application configurations
{{Wiki Markup dspace-sword
}} \ - The SWORD \ [interface for DSpacedspace-sword-api
- The SWORD APIdspace-sword-webapp
- The SWORD web application
language-packs
- The Internalization (I18N) language packs for DSpace (Currently JSP-UI only - the I18N for Manakin is in thedspace-xmlui-webapp
module)pom.xml
- The Maven module, which contains the primary Maven configurations to build DSpace
...
The One-Big-Project Approach
Warning |
---|
Eclipse no longer supports the "Enable Nested Modules" option described below. See: https://issues.sonatype.org/browse/MNGECLIPSE-2291 |
This is the simplest approach and therefore is highly recommended for any new/novice developers. This approach allows you to checkout DSpace 1.5 as a single Eclipse Project. However, it only allows you to define a single user interface to debug tools using the Eclipse Tomcat plugin.
...
If you are looking at the Console view in Eclipse, you will know the build has been successful when you see it terminate with a message similar to the following:
Code Block |
---|
[INFO] ----------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL org.dspace:dspace:pom:1.5-SNAPSHOT ( task-segment: [package] )
[INFO] ----------------------------------------------------------------------------
[INFO] Total time: 32 second
[INFO] Finished at: Tue Nov 27 14:17:56 CST 2007
[INFO] Memory 8M/63M
[INFO] ----------------------------------------------------------------------------
|
...
The installation path you give should be:
Code Block |
---|
dspace.dir = <dspace>
|
where <dspace>
is the absolute path of the folder where you want DSpace to be installed. Other configuration that you should ensure are set correctly are as follows (assuming installation on the local machine):
Code Block |
---|
# DSpace base URL. Include port number etc., but NOT trailing slash
dspace.url = http://localhost:8080/dspace-jspui
# DSpace host name - should match base URL. Do not include port number
dspace.hostname = localhost
# Name of the site
dspace.name = DSpace 1.5
|
...
Go back into each of the Maven build tasks you defined in the Defining Maven Tasks in Eclipse section above, and add the following parameter:
Code Block |
---|
dspace.config = <dspace>/config/dspace.cfg
|
...
- Open the file dspace-svn/src/org/dspace/app/webui/servlet/DSpaceServlet.java
- Scroll down to the method:
Code Block |
---|
private void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
|
and find the line of code which reads:
Code Block |
---|
// Are we resuming a previous request that was interrupted for
// authentication?
request = Authenticate.getRealRequest(request);
|
...
- Open the file <workspace>/dspace-api/src/main/java/org/dspace/browse/Browse.java
- Scroll down to the method:
Code Block |
---|
public static BrowseInfo getItemsByTitle(BrowseScope scope)
throws SQLException
{
scope.setBrowseType(ITEMS_BY_TITLE_BROWSE);
scope.setAscending(true);
scope.setSortByTitle(null);
return doBrowse(scope);
}
|
...