Reports: Generate Data Matrix or "QR Code"

To my delight, one can add data matrices to a Report template in JasperSoft Studio:

To my disappointment, this does not seem to be supported on the Specify7 server:

java.lang.NoClassDefFoundError: org/krysalis/barcode4j/HumanReadablePlacement

[Wed May 01 09:10:51.300432 2024] [wsgi:error] [pid 19248] [remote 10.62.192.13:54695] [01/May/2024 09:10:51] [WARNING] [specifyweb.specify.api:346] field "isonloan" does not exist in <class 'specifyweb.specify.models.Preparation'>
[Wed May 01 09:11:20.255785 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] [01/May/2024 09:11:20] [ERROR] [django.request:228] Internal Server Error: /report_runner/run/
[Wed May 01 09:11:20.255808 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] Traceback (most recent call last):
[Wed May 01 09:11:20.255810 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/ve/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
[Wed May 01 09:11:20.255812 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     response = get_response(request)
[Wed May 01 09:11:20.255814 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/ve/lib64/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
[Wed May 01 09:11:20.255817 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     response = self.process_exception_by_middleware(e, request)
[Wed May 01 09:11:20.255819 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/ve/lib64/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
[Wed May 01 09:11:20.255821 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     response = wrapped_callback(request, *callback_args, **callback_kwargs)
[Wed May 01 09:11:20.255823 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/ve/lib64/python3.6/site-packages/django/views/decorators/http.py", line 40, in inner
[Wed May 01 09:11:20.255825 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     return func(request, *args, **kwargs)
[Wed May 01 09:11:20.255826 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/specifyweb/specify/views.py", line 26, in wrapped
[Wed May 01 09:11:20.255828 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     return view(request, *args, **kwargs)
[Wed May 01 09:11:20.255829 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]   File "/home/specify/currentversion/specify7/specifyweb/report_runner/views.py", line 65, in run
[Wed May 01 09:11:20.255831 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981]     raise ReportException(r.text)
[Wed May 01 09:11:20.255832 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] specifyweb.report_runner.views.ReportException: <html>
[Wed May 01 09:11:20.255834 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <head>
[Wed May 01 09:11:20.255836 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
[Wed May 01 09:11:20.255837 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <title>Error 500 Server Error</title>
[Wed May 01 09:11:20.255844 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] </head>
[Wed May 01 09:11:20.255846 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <body><h2>HTTP ERROR 500</h2>
[Wed May 01 09:11:20.255847 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <p>Problem accessing /report. Reason:
[Wed May 01 09:11:20.255849 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <pre>    Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.NoClassDefFoundError: org/krysalis/barcode4j/HumanReadablePlacement
[Wed May 01 09:11:20.255850 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.getDeclaredMethods0(Native Method)
[Wed May 01 09:11:20.255852 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
[Wed May 01 09:11:20.255853 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.privateGetPublicMethods(Class.java:2902)
[Wed May 01 09:11:20.255855 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.getMethods(Class.java:1615)
[Wed May 01 09:11:20.255857 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1336)
[Wed May 01 09:11:20.255858 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
[Wed May 01 09:11:20.255860 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:426)
[Wed May 01 09:11:20.255861 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:173)
[Wed May 01 09:11:20.255862 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:260)
[Wed May 01 09:11:20.255864 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.&lt;init&gt;(Introspector.java:407)
[Wed May 01 09:11:20.255865 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:173)
[Wed May 01 09:11:20.255867 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.DefaultBeanIntrospector.introspect(DefaultBeanIntrospector.java:79)
[Wed May 01 09:11:20.255870 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.fetchPropertyDescriptors(PropertyUtilsBean.java:2222)
[Wed May 01 09:11:20.255871 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptors(PropertyUtilsBean.java:1015)
[Wed May 01 09:11:20.255873 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptors(PropertyUtilsBean.java:1039)
[Wed May 01 09:11:20.255874 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:950)
[Wed May 01 09:11:20.255876 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:929)
[Wed May 01 09:11:20.255877 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:821)
[Wed May 01 09:11:20.255879 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)
[Wed May 01 09:11:20.255881 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:254)
[Wed May 01 09:11:20.255882 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Rule.begin(Rule.java:177)
[Wed May 01 09:11:20.255886 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Digester.startElement(Digester.java:1583)
[Wed May 01 09:11:20.255888 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
[Wed May 01 09:11:20.255889 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:744)
[Wed May 01 09:11:20.255891 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
[Wed May 01 09:11:20.255893 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2783)
[Wed May 01 09:11:20.255895 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601)
[Wed May 01 09:11:20.255897 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
[Wed May 01 09:11:20.255898 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504)
[Wed May 01 09:11:20.255900 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
[Wed May 01 09:11:20.255902 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
[Wed May 01 09:11:20.255903 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
[Wed May 01 09:11:20.255905 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
[Wed May 01 09:11:20.255906 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642)
[Wed May 01 09:11:20.255908 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Digester.parse(Digester.java:1892)
[Wed May 01 09:11:20.255909 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:298)
[Wed May 01 09:11:20.255911 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:285)
[Wed May 01 09:11:20.255913 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:274)
[Wed May 01 09:11:20.255914 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:248)
[Wed May 01 09:11:20.255916 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:341)
[Wed May 01 09:11:20.255917 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:608)
[Wed May 01 09:11:20.255919 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat edu.ku.brc.specify.reports.ReportServlet.doPost(ReportServlet.java:46)
[Wed May 01 09:11:20.255920 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
[Wed May 01 09:11:20.255922 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
[Wed May 01 09:11:20.255925 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
[Wed May 01 09:11:20.255927 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
[Wed May 01 09:11:20.255928 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
[Wed May 01 09:11:20.255930 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
[Wed May 01 09:11:20.255931 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
[Wed May 01 09:11:20.255933 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
[Wed May 01 09:11:20.255934 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
[Wed May 01 09:11:20.255936 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
[Wed May 01 09:11:20.255938 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
[Wed May 01 09:11:20.255939 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
[Wed May 01 09:11:20.255941 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
[Wed May 01 09:11:20.255942 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
[Wed May 01 09:11:20.255944 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
[Wed May 01 09:11:20.255945 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.Server.handle(Server.java:370)
[Wed May 01 09:11:20.255947 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
[Wed May 01 09:11:20.255949 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
[Wed May 01 09:11:20.255950 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
[Wed May 01 09:11:20.255952 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
[Wed May 01 09:11:20.255953 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
[Wed May 01 09:11:20.255955 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
[Wed May 01 09:11:20.255956 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
[Wed May 01 09:11:20.255958 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
[Wed May 01 09:11:20.255959 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
[Wed May 01 09:11:20.255963 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
[Wed May 01 09:11:20.255964 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Thread.run(Thread.java:750)
[Wed May 01 09:11:20.255966 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] Caused by: java.lang.ClassNotFoundException: org.krysalis.barcode4j.HumanReadablePlacement
[Wed May 01 09:11:20.255967 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
[Wed May 01 09:11:20.255969 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
[Wed May 01 09:11:20.255970 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
[Wed May 01 09:11:20.255972 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:430)
[Wed May 01 09:11:20.255973 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
[Wed May 01 09:11:20.255975 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \t... 69 more
[Wed May 01 09:11:20.255977 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] </pre>
[Wed May 01 09:11:20.255978 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] <h3>Caused by:</h3><pre>java.lang.ClassNotFoundException: org.krysalis.barcode4j.HumanReadablePlacement
[Wed May 01 09:11:20.255980 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
[Wed May 01 09:11:20.255981 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
[Wed May 01 09:11:20.255983 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
[Wed May 01 09:11:20.255984 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:430)
[Wed May 01 09:11:20.255986 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
[Wed May 01 09:11:20.255987 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.getDeclaredMethods0(Native Method)
[Wed May 01 09:11:20.255989 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
[Wed May 01 09:11:20.255990 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.privateGetPublicMethods(Class.java:2902)
[Wed May 01 09:11:20.255992 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Class.getMethods(Class.java:1615)
[Wed May 01 09:11:20.255993 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1336)
[Wed May 01 09:11:20.255995 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
[Wed May 01 09:11:20.255996 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:426)
[Wed May 01 09:11:20.255998 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:173)
[Wed May 01 09:11:20.255999 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:260)
[Wed May 01 09:11:20.256001 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.&lt;init&gt;(Introspector.java:407)
[Wed May 01 09:11:20.256004 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.beans.Introspector.getBeanInfo(Introspector.java:173)
[Wed May 01 09:11:20.256005 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.DefaultBeanIntrospector.introspect(DefaultBeanIntrospector.java:79)
[Wed May 01 09:11:20.256007 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.fetchPropertyDescriptors(PropertyUtilsBean.java:2222)
[Wed May 01 09:11:20.256009 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptors(PropertyUtilsBean.java:1015)
[Wed May 01 09:11:20.256010 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptors(PropertyUtilsBean.java:1039)
[Wed May 01 09:11:20.256012 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:950)
[Wed May 01 09:11:20.256014 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:929)
[Wed May 01 09:11:20.256015 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:821)
[Wed May 01 09:11:20.256017 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)
[Wed May 01 09:11:20.256018 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:254)
[Wed May 01 09:11:20.256020 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Rule.begin(Rule.java:177)
[Wed May 01 09:11:20.256021 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Digester.startElement(Digester.java:1583)
[Wed May 01 09:11:20.256023 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
[Wed May 01 09:11:20.256024 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:744)
[Wed May 01 09:11:20.256026 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
[Wed May 01 09:11:20.256029 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2783)
[Wed May 01 09:11:20.256030 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601)
[Wed May 01 09:11:20.256032 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
[Wed May 01 09:11:20.256034 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504)
[Wed May 01 09:11:20.256035 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
[Wed May 01 09:11:20.256037 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
[Wed May 01 09:11:20.256039 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
[Wed May 01 09:11:20.256042 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
[Wed May 01 09:11:20.256044 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642)
[Wed May 01 09:11:20.256045 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.apache.commons.digester.Digester.parse(Digester.java:1892)
[Wed May 01 09:11:20.256047 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:298)
[Wed May 01 09:11:20.256048 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:285)
[Wed May 01 09:11:20.256050 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:274)
[Wed May 01 09:11:20.256051 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:248)
[Wed May 01 09:11:20.256053 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:341)
[Wed May 01 09:11:20.256054 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:608)
[Wed May 01 09:11:20.256056 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat edu.ku.brc.specify.reports.ReportServlet.doPost(ReportServlet.java:46)
[Wed May 01 09:11:20.256058 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
[Wed May 01 09:11:20.256059 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
[Wed May 01 09:11:20.256060 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
[Wed May 01 09:11:20.256062 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
[Wed May 01 09:11:20.256063 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
[Wed May 01 09:11:20.256065 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
[Wed May 01 09:11:20.256067 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
[Wed May 01 09:11:20.256068 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
[Wed May 01 09:11:20.256070 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
[Wed May 01 09:11:20.256071 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
[Wed May 01 09:11:20.256073 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
[Wed May 01 09:11:20.256074 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
[Wed May 01 09:11:20.256076 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
[Wed May 01 09:11:20.256077 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
[Wed May 01 09:11:20.256081 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
[Wed May 01 09:11:20.256083 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.Server.handle(Server.java:370)
[Wed May 01 09:11:20.256084 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
[Wed May 01 09:11:20.256086 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
[Wed May 01 09:11:20.256087 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
[Wed May 01 09:11:20.256089 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
[Wed May 01 09:11:20.256090 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
[Wed May 01 09:11:20.256092 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
[Wed May 01 09:11:20.256094 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
[Wed May 01 09:11:20.256095 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
[Wed May 01 09:11:20.256097 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
[Wed May 01 09:11:20.256098 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
[Wed May 01 09:11:20.256100 2024] [wsgi:error] [pid 19248] [remote 10.175.116.37:55981] \tat java.lang.Thread.run(Thread.java:750)

Would it help to install this jar on the server somehow somewhere?

Hi @fedoras,

Can you share the JRXML of the report template and export the associated query so we can take a closer look? Thank you!

Absolutely!

Standard Label 4.jrxml (11.7 KB)

Ichthyology Label.json (13.6 KB)

Hi @fedoras,

The report runner is theoretically extensible, but it falls outside of our standard support. I did recreate the exact issue you are having (thank you so much for the exports)!

I added the missing Barcode4J library .jar file to the Report Runner, which resolved the java.lang.NoClassDefFoundError: org/krysalis/barcode4j/HumanReadablePlacement issue that you were having.

I added the JAR file to the report runner so it was accessible in the /var/lib/jetty/webapps/ROOT/WEB-INF/lib/ directory:

docker run -p {IP_ADRESS}:8080:8080 --name report-runner -d -v /home/ubuntu/report-runner-service/barcode4j.jar:/var/lib/jetty/webapps/ROOT/WEB-INF/lib/barcode4j.jar sp7cloud-report-runner

Even after adding this, I encountered another issue with a missing dependency:

java.lang.NoClassDefFoundError: org/apache/batik/bridge/UserAgent

I then mounted the batik-ttf2svg-1.17.jar,batik-rasterizer-1.17.jar,batik-slideshow-1.17.jar,batik-squiggle-1.17.jar, and batik-svgpp.jar JAR files yet continued to encounter the aforementioned issue. I’m afraid I don’t have a sophisticated enough understanding of how the report runner interacts with these files to provide much further assistance.

This leads me to believe that generating the data matrix may require additional JAR files or more advanced configuration to satisfy all necessary requirements. Making these files available to the container seems like the most sensible approach to enable the data matrix generation. I’ll run this issue by one of our devs to see if they can shed any light or give us some advice.

Let me know if you have any success after trying a similar approach!

1 Like

We are interested in generating data matrixes / QR codes at OSU for our labels. If this ends up working, please post an update to this thread! If not, please add us to the list of interested institutions for this to be supported in 7.

1 Like

Hi,
I found a way around this problem, by using an external API and add the QR as an image object.
Here is an example:

<imageExpression><![CDATA["https://api.qrserver.com/v1/create-qr-code/?size=150x150&data="+$F{1.collectionobject.catalogNumber}]]></imageExpression>

I haven’t tried yet to use it in our existing labels, so if someone does I’ll be happy to hear if there are any special issues with it.

2 Likes

That’s pretty damn brilliant, @Eyal ! I will give it a try…