Win a copy of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams this week in the Reactive Progamming forum!
  • Post Reply Bookmark Topic Watch Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
  • Knute Snortum
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To my knowledge, there is no page listing the minimum set of dependencies for Struts 2. There is a download for "Essential Dependencies" on the downloads page, but this includes many (in my opinion) unnecessary libraries, for example, the long-deprecated Dojo plugin.
The easiest way to obtain the dependencies is to use Maven or Ivy (if you are using Ant) in your build script.
If you are not using either of those build tools, or want to manage your project's dependencies manually, there is a simple alternative. Get the sample applications for the same version of Ant you wish to use. You can download them in a separate distribution called "Example Applications" or download the "Full Distribution" (see the Struts Download page). Unzip the distribution and navigate to the {struts version}/apps/ directory. Unzip the struts2-blank.war file (note, the WAR/JAR file format is built on the ZIP file format, so you can use tools like 7-Zip on Windows, OS X Archive Utility, or the JAR command included with Java to extract Java Archives). Drill down into the struts2-blank/WEB-INF/lib directory and you will find the minimum set of dependencies.
The minimum set of dependencies for Struts are:

Now, there will come a time when the base Struts functionality is not enough any more and one will want to introduce other technologies, such as Spring or Sitemesh. Again, if using Maven, there are archetypes provided for some common application types.
If one is manually maintaining their project's dependencies, it is possible to obtain some technologies, like Spring, from the distribution {struts version}/lib/ directory. Since it will be necessary to obtain those dependencies and make sure they play well with Struts, I recommend starting here.
For example, Struts has a Spring plugin, but it is based on an old version of Spring (3.0.5, as opposed to the current 4.3.0). If one wants to try to update a library that is packaged with Struts, I would recommend that one use the supported version first. Make sure your application works with that, then try introducing a newer version. It would also be a good idea to check the Struts 2 Mailing Lists to see if anyone has tried a newer version of that library, and, if so, they encountered any issues.
crispy bacon. crispy tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!