Running servlet within Eclipse requires libs to be defined 3 times - am I doing something wrong?

Hullo - issue is this:

  • I wrote a servlet in Eclipse which requires mysql-connector-java-5.1.22-bin.jar
  • To compile I need to add the jar via the project's "Java Build Path"
  • To deploy I need to add the jar to the project's "Deployment Assembly"
  • To run the servlet within eclipse I need to add the jar to the servlet's Run Configuration -> Classpath

It's not the end of the world re-re-repeating myself like this, but it does seem odd.

Given that Eclipse gets a lot of other stuff correct I'm guessing / hoping that maybe I'm overlooking some feature to avoid this silliness (I cannot imagine a scenario where you'd benefit from entering this in 3 different spots ... but maybe I'm being uncreative here ...).

Insights appreciated :-)

Answers


The only thing you need to do is to drop the jar in WebContent/WEB-INF/lib.


You are developing a Java Web project, so the traditional place to put the required libs (JAR files etc) is under /WEB-INF/lib. And you do it only once.

In Eclipse, when you create Dynamic Web Project the appropriate project structure is generated for you (this is a development structure). In this case you place your JAR files in ProjectName/WebContent/WEB-INF/lib folder. And this folder is *automatically included in the project's build path.

Considering the fact that it is a Java Web project (you said you use servlets) you have to deploy your web app to some Application Server, like GlassFish, JBoss, WebLogic, WebSphere etc, or more simple Web Container like Apache Tomcat. If you do this thru Eclipse, then again your web project is automatically deployed.

NB! There may be some additional details related to using libraries. For instance, when it comes to using database drivers (MySql, PostgreSQL, Oracle etc) Tomcat advises the following while configuring JNDI Datasource (quote):

Before you proceed, don't forget to copy the JDBC Driver's jar into $CATALINA_HOME/lib

In your case (MySQL) see the example here: MySQL DBCP Example


Also see my answer related to Webapp configuration file organization convention.

Hope this will help you.

P.S. Here is a step-by-step example: How do I access MySQL from a web application?


Need Your Help

Eclipse plugin management in IBM RAD

eclipse eclipse-plugin ibm-rad eclipse-marketplace

I installed RAD 7.5 and found out that IBM is not as good as I thought of it.

iOS Significant Location Change Only Works When Device is Awake

iphone ios core-location cllocationmanager locationmanager

I am trying to write an app in iOS for the iPhone 4 using significant location change that fires a local notification each time the location delegate receives a location update. My code is posted ...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.