Невозможно получить внешний шрифт в fop, получая сообщение:
java.lang.UnsupportedOperationException: десериализация не разрешена для класса org.apache.fop.fonts.FontCache (в четверг 15 ноября 11:07:35 PST 2018)
в org.kantega.notsoserial.DefaultNotSoSerial.preventDeserialization (DefaultNotSoSerial.java:256)
в org.kantega.notsoserial.DefaultNotSoSerial.onBeforeResolveClass (DefaultNotSoSerial.java:248)
в org.kantega.notsoserial.ObjectInputStreamClassVisitor.onBeforeResolveClass (ObjectInputStreamClassVisitor.java:48)
в java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1868)
в java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1751)
в java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:2042)
в java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1573)
в java.io.ObjectInputStream.readObject (ObjectInputStream.java:431)
в org.apache.fop.fonts.FontCache.loadFrom (FontCache.java:151)
в org.apache.fop.fonts.FontCache.load (FontCache.java:132)
в org.apache.fop.fonts.FontManager.setUseCache (FontManager.java:121)
в org.apache.fop.fonts.FontManager. (FontManager.java:63)
в org.apache.fop.apps.FopFactory $ 1. (FopFactory.java:159)
a.lang.UnsupportedOperationException: десериализация не разрешена для класса org.apache.fop.fonts.FontCachet org.apache.fop.apps.FopFactory. (FopFactory.java:156)
в org.apache.fop.apps.FopFactory.newInstance (FopFactory.java:177)
в com.intelsecurity.aem.services.impl.util.PDFFOPServiceImpl.createPDF (PDFFOPServiceImpl.java:74)
в com.intelsecurity.aem.services.impl.checkout.CreatePurchaseReceiptDataServiceImpl.createPurchaseReceiptData (CreatePurchaseReceiptDataServiceImpl.java:172)
в com.intelsecurity.aem.servlets.checkout.PurchaseOrderServlet.operationGetOrderSummary (PurchaseOrderServlet.java:342)
at com.intelsecurity.aem.servlets.checkout.PurchaseOrderServlet.doPost (PurchaseOrderServlet.java:178)
в org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService (SlingAllMethodsServlet.java:146)
в org.apache.sling.api.servlets.SlingSafeMethodsServlet.service (SlingSafeMethodsServlet.java:342)
в org.apache.sling.api.servlets.SlingSafeMethodsServlet.service (SlingSafeMethodsServlet.java:374)
на
Ниже приводится файл fopconfig:
<?xml version="1.0"?>
<fop version="1.0">
<base>.</base>
<source-resolution>72</source-resolution>
<target-resolution>72</target-resolution>
<default-page-settings height="11.00in" width="8.50in"/>
<renderers>
<renderer mime="application/pdf">
<filterList>
<value>flate</value>
</filterList>
<fonts>
<font embed-url=".">
<font-triplet name="TrueType" style="normal" weight="normal"/>
</font>
</fonts>
</renderer>
</renderers>
</fop>
и мой шрифт хранится в тех же папках, что и fop-config
Чтобы устранить вышеуказанную проблему, я попытался выполнить следующий шаг:
final FopFactory fopFactory = FopFactory.newInstance();
fopFactory.getFontManager().getFontCache().clear();
однако мой пакет osgi, похоже, все еще находится в установленном состоянии.
Что я делаю не так?