Skip to content

Print plugin not working on generated projects #11856

@offtherailz

Description

@offtherailz

Description

mvn dependency:tree -Pprinting | grep -C 5 "jackson-dataformat-yaml"
[INFO]    |  |  +- it.geosolutions.jaiext.rlookup:jt-rlookup:jar:1.1.28:compile
[INFO]    |  |  +- it.geosolutions.jaiext.vectorbin:jt-vectorbin:jar:1.1.28:compile
[INFO]    |  |  \- it.geosolutions.jaiext.shadedrelief:jt-shadedrelief:jar:1.1.28:compile
[INFO]    |  +- org.geotools:gt-cql:jar:31.6:compile
[INFO]    |  \- com.conversantmedia:disruptor:jar:1.2.15:compile
[INFO]    +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.18.2:compile
[INFO]    |  \- org.yaml:snakeyaml:jar:2.3:compile
[INFO]    +- org.locationtech.jts:jts-core:jar:1.19.0:compile
[INFO]    +- javax.media:jai_codec:jar:1.1.3:compile
[INFO]    +- com.google.guava:guava:jar:15.0:compile
[INFO]    +- org.apache.pdfbox:pdfbox:jar:2.0.34:compile

see com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.18.2:compile uses version 18. the conflict causes an error invoking pdf/info.json.

javax.servlet.ServletException: Error occurred while reading configuration file '/home/offtherailz/work/projects/mapstore/TEST_PL/web/target/apache-tomcat-9.0.108/webapps/mapstore/printing/config.yaml': java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.JsonToken com.fasterxml.jackson.dataformat.yaml.YAMLParser._updateToken(com.fasterxml.jackson.core.JsonToken)'
	org.mapfish.print.servlet.BaseMapServlet.getMapPrinter(BaseMapServlet.java:145)
	org.mapfish.print.servlet.MapPrinterServlet.getInfo(MapPrinterServlet.java:320)
	org.mapfish.print.servlet.MapPrinterServlet.doGet(MapPrinterServlet.java:106)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	it.geosolutions.mapstore.filters.NoCacheFilter.doFilter(NoCacheFilter.java:17)
	org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

We have an issue to migrate to next version on 2026.01.xx --> #11361 but for 2025.02.xx this bug still exists.

How to reproduce

Here a way to reproduce in dev (also on tomcat the same).

  • generate project with node createProject.js
  • start the with printing profile (in package.json of the project add the -Pprinting to be:build script like this: "be:build": "mvn clean install -Pprinting", then runnpm start`)
  • open mapstore (started locally), login as admin, add a new resource

Expected Result

  • The print button should appear

Current Result

  • the print button do not appear

  • if you check the pdf/info.json request, you see the error above.

  • Not browser related

Browser info (use this site: https://www.whatsmybrowser.org/ for non expert users)
Browser Affected Version
Internet Explorer
Edge
Chrome
Firefox
Safari
  • version affected (mapstore master, 2025.02.xx)

Other useful information

Metadata

Metadata

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions