2

現在、iReport 4.5.1からJaspersoft Studio 5.5に移行中です。Jaspersoft Studioでデータ アダプタを変更するuuidと、レポートの XML にタグが追加されます。

uuid="..."私はさまざまなデータベースへのさまざまな接続を持っていますが、XMLから削除するために Notepad++ に入る必要はありません。レポートが使用しているデータ アダプタを変更すると、このエラーが発生し続けるのはなぜですか?

私は最初にこの問題を見て、レポートの接続を変更したときに(開発データベースからステージングデータベースに見えるように)1つの接続で機能していましたがuuid、レポートに戻ってきました。開発中にレポートをテストするときは、 を削除するuuidと動作します。ステージングでレポートをテストするように変更すると、元に戻ります。

Error loading the report template


Message:
    net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: cvc-     complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'.
Level:
SEVERE
Stack Trace:
org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed  to appear in element 'jasperReport'.
    net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247)
net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:230)
net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218)
com.jaspersoft.ireport.designer.JrxmlLoader.reloadJasperDesign(JrxmlLoader.java:87)
com.jaspersoft.ireport.designer.JrxmlVisualView.run(JrxmlVisualView.java:505)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element  'jasperReport'.
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:423)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2665)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2072)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3104)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
org.apache.commons.digester.Digester.parse(Digester.java:1892)
net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243)
net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:230)
net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218)
com.jaspersoft.ireport.designer.JrxmlLoader.reloadJasperDesign(JrxmlLoader.java:87)
com.jaspersoft.ireport.designer.JrxmlVisualView.run(JrxmlVisualView.java:505)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
4

3 に答える 3

6

JasperReports 4.6.0 で UUID 属性が導入されたと思います。したがって、これを取り除くには、JasperReports 4.5.0 を使用するように互換モードを設定する必要があります。これは、Jaspersoft Studio または iReport のすべての新しいバージョンが、利用可能な JR ライブラリの最新バージョンを使用するためです。

Jaspersoft Studio では、[ウィンドウ] > [設定] > [Jaspersoft Studio] を使用して互換モードをグローバル レベルで設定し、コンボを使用して 4.5.0 バージョンを選択できます。これにより、ワークスペース レベルで設定が適用されます。ただし、プロジェクト プロパティまたはファイル プロパティを使用して、この情報をカスタマイズできます。これは、すべてのレポートに最新の JR バージョンを使用したいが、「JR 4.5.0」に準拠したい特定のレポートがあるという一般的なユースケースで非常に役立ちます。

これで疑問や質問が解決することを願っています。

よろしく、マッシモ。

PS: 以下の設定ページのスクリーンショット

ワークスペース レベルの設定

プロジェクト レベルの設定

ファイルレベルの設定

于 2014-01-14T09:34:40.757 に答える
0

以前も同じ問題があり、解決策は属性を削除することですuuid

于 2014-10-28T09:14:18.470 に答える
0

uuid の問題を解決するには、jasper レポートの最新バージョンをバージョン 4.5.0 に変更してください。それは完全に機能し、XML からすべての uuid を削除します。

于 2020-12-11T10:57:01.357 に答える