-
Notifications
You must be signed in to change notification settings - Fork 149
Eclipse Project from Source Code
ZhongPing Guo edited this page Jul 2, 2013
·
5 revisions
This document contains guidelines for setting up a Geoportal Server project within the Eclipse IDE using source code.
Make sure the following software has been installed and working properly prior to setting up the geoportal project.
- JDK 1.6
- Eclipse IDE for Java EE Developers 3.5 and above
- Tomcat 6.x or 7.x
- http://tomcat.apache.org/download-60.cgi (.zip recommended for development)
- The geoportal database
- per the geoportal installation guide. If you have not created the geoportal database by running the database scripts, you should do that before proceeding. Recommendation is to create a new clean geoportal database for your dev environment so there are no conflicts with the GPT_USERS table and this simple user authentication example.
- JDBC driver for development database
- Example: Postgres jdbc driver: http://jdbc.postgresql.org/download.html
- (The jdbc driver .jar file will be used later while configuring the geoportal application)
- Launch Eclipse and create new dynamic web project (File > New < Dynamic Web Project).
- Provide project name as "geoportal", set dynamic web module version to 2.5 and set configuration as "custom". Set the project location.
- Add a new runtime if you don't have one already (click on "New Runtime" button), select "Apache Tomcat v6.0" in the dialog, click "Next".
- Browse to the Tomcat home directory, set the JRE to be used by Tomcat server, click "Finish".
- After finish setting the target runtime, click "Next" on the "New Dynamic Web Project" dialog.
- Change the default output folder to "www\WEB-INF\classes", the complied classes and files will be stored there. Click "Next".
- Change the Content directory to name it as "www", uncheck "Generate web.xml deployment descriptor". Click "Finish" to create the project.
- Verify the empty geoportal project is created with Eclipse project explorer.
There are many ways to load the geoportal source into your Eclipse project. The method described here shows manual steps.
- Copy all the files from the \\geoportal\www\WEB-INF directory in your downloaded source code to your www\WEB-INF directory in the Eclipse project.
- Copy the src files from the \\geoportal\src location in the source code you downloaded, and paste them into your src folder in your Eclipse project.
- Copy the lib files from the \\geoportal\lib location in the source code you downloaded into the WEB-INF\lib location in your Eclipse project.
- You will also need to copy the jdbc driver for the database you’ll use for your geoportal into this WEB-INF\lib location in Eclipse. Note, the jdbc driver is not part of the geoportal source code distribution. Refer to the geoportal installation guide for information on jdbc driver compatibility.
- Now copy the catalog, csw, gpt, misc, webhelp, and widgets directories from the \\geoportal\www location in your downloaded source code, and paste those directories into the www directory in your Eclipse project.
- Refresh the geoportal project in Eclipse (right-click the top level project name, select “Refresh”).
- Go to the /geoportal/src/gpt/config node in your project and open the gpt.xml file for editing. For a basic dev configuration, configure the following – note, there are many additional configuration options for the gpt.xml file, but here we are only doing the ones necessary to run the geoportal from source:
- add your database connection information into this file. In test or production, you won’t want the database connection here in the file because you’ll want to take advantage of connection pooling and also keep your database password more secure. But here, we can save time and configuration by defining our database connection in the gpt.xml file. Locate the gptConfig node, at the top of the file. Just beneath it, comment out the existing databaseReference node. Just below the commented out portion, add the following – note, you’ll need to update the driver, url, username, and password information according to your database configuration per the geoportal installation guide:
- Find the lucene indexLocation="" attribute in the gpt.xml file. Update with the folder location for your lucene index.
- Find the identity element in the gpt.xml file. You’ll note that the simpleAdapter section is commented out. Uncomment this whole simpleAdapter section, and note that the account parameter defines the username and password you will use to login to your geoportal. Note here, if you’re using a geoportal database that references users defined from an LDAP connection in the GPT_USERS table, you may have to create a new geoportal database for this project so there are not user conflicts when logging in.
- Remove or comment out the whole ldapAdapter section in the gpt.xml file, as we'll be using the simple authentication method to login to the geoportal instead of connecting to an LDAP server. Note, there are comments within this section that will need to be uncommented so the whole ldapAdapter section is deactivated.
- Save the gpt.xml file.
- Now you should be able to run your geoportal eclipse project in Tomcat. Start the Tomcat server in run or debug mode, it starts publishing the web resource to the Tomcat server.
- Check the console output for messages/errors. If there are errors revisit the gpt.xml file and check the configurations. Make sure all required jar files are available.
- Once the Geoportal application is deployed without errors you can proceed to launch your Geoportal application in a browser (e.g. http://localhost:8080/geoportal), it is available at the port where Tomcat is configured to run (e.g. 8080), and the context path is /geoportal (as configured during creation of project).
- With initial testing done, you now export the project to a WAR file that can be deployed to a production server running Tomcat (or other web container).
- Right-click on the project title in the Project Explorer pane. Go to Export then select WAR file.
- Click Browse to select the destination for the war file.
- Deploy the war file to your web container.
Back to IDE Topics