[#11006] - Missing maven dependency on commons-codec

Category:
Bug report
Priority:
Normal
Status:
Resolved
Project: Severity:
Minor
Resolution:
Fixed
Component: Reproducibility:
Always
Assigned to:
0

When configuring a HtmlExporter instance to embed base64 encoded images, I get an exception regrding missing org.apache.commons.codec.binary.Base64InputStream. Adding the said dependency to build.gradle solves the issue. However, shouldn't it be added as a dependency to group: 'net.sf.jasperreports', name: 'jasperreports', version: "${jasperReportsVersion}" ?

v6.6.0
JasperReports
toomas.vendelin's picture
Joined: Jul 9 2018 - 2:24am
Last seen: 8 months 2 weeks ago

3 Comments:

#1

Hi,

This is a bit tricky because some dependencies are optional, as you saw. You normally don't need this codec until you want to encode something with it.
So why make this dependency mandatory for everybody when they don't actually need it.

In our build, during source code compilation, this codec comes to us as a transient dependency of POI.

If you are looking for a more accurate list of dependencies we need for compilation, you can look into the ivy.xml file, which specifies them all, as we do not bring anything transiently with Apach Ivy during the Ant-based build. My understanding is that you are using a Gradle based build.

Thanks,
Teodor

#2
  • Status:New» Feedback Requested
  • Assigned:nobody» teodord
#3
  • Resolution:Open» Fixed
  • Status:Feedback Requested» Resolved

Hi,

We modified the pom.xml on our master branch to include all dependencies upon which we depend directly. So the Commons Code was thus added. This will be part of a future release.

Thanks,
Teodor

Feedback