I'm developing a plugin for Eclipse which uses several external libraries. This project is shared among 6 programmers using Subversion, therefore I want to make library paths absolutes. I started using the User Library of eclipse, which lets me add all the external libraries I need and keep the path relative. I worked fine because I only had this in the .classpath file:
One of the libraries I'm placing in this User Library is mysql-connector. The problem comes when I try to configure the plugin dependencies in the Manifest file because I can't choose mysql-connector neither from the list of Required Plugins nor from Runtime libraries.
I could do that before because I had the mysql-connector jar in the plugins directory of Eclipse. I know I will run into this same problem with other libraries I will use in the future.
What should I do? Place mysql-connector in the Eclipse plugins folder? I would really like to keep everything well organized.
Actually, I recommend not using internal absolute paths, if for no other reason than it limits your OS options (Linux and Solaris take a dim view of "D:\libraries\drivers", for example). And because there's always the possibility that what you're doing may be so useful that some other group with a completely different set of standards will be unable to take advantage of your brilliance.
I exploit Eclipse's support of local symbolic assignments. So, for example, if a project needs to refer to the servlet.jar file of Tomcat, I define it as $TOMCAT_LIB/servlet.jar in the project build properties, which allows me to put Tomcat (and its library directory) anywhere I want and not tie other project users to my choice. Same applies to JDBC drivers and stuff like that.
An IDE is no substitute for an Intelligent Developer.