16

Linux用のiReport-4.6.0をダウンロードし、[ファイル]-> [新規...]メニューから新しいレポートを作成すると、新しいレポートはプレビューに表示されず、cvc-complex-type.3.2.2 attribute 'uuid' is not allowed to appear in element 'jasperreport'代わりにエラーメッセージが表示されます。

オプションで互換性4.5.0を選択した場合でも、同じエラーメッセージが表示されます。iReport-4.6.0(Windows)の他のユーザーが作成したレポートファイルを開いた場合にも、同じエラーメッセージが表示されます。

レポートファイルにはスキーマがhttp://jasperreports.sourceforge.net/xsd/jasperreport.xsdありますが、このスキーマファイルには何も記載されていませんuuid

何が問題なのですか?

4

11 に答える 11

32

iReport Designerのオプションウィンドウで、互換モードを好みのバージョンに変更できます。私にとって、jasperreport 3.5.1との互換性を設定すると、レポートを再度保存すると、uuidがすべて削除されます。

よろしく

于 2012-12-04T13:55:39.320 に答える
24

私は答えを見つけました:

メモ帳++でJRXMLファイルを開き、の「検索と置換」を実行uuid="\w*-\w*-\w*-\w*-\w*"し、空の文字列で正規表現を選択すると、この間違ったタグの出現箇所がすべて削除されました。

私のために働いた。

于 2012-07-13T18:51:58.123 に答える
3

notpad ++でレポートを開き、uuidとその番号のみを削除します。適切にコンパイルしてレポートを生成した後....同じ問題が発生し、この方法で解決します。

于 2013-05-27T14:55:57.413 に答える
2

Linuxは使用していませんが、iReportDesigner-xxを使用してレポートを作成します。プロジェクトに同じバージョンのjasperreport(jasperreport-XX)jarを追加します。

于 2013-02-01T10:05:03.860 に答える
2

私はちょうどこれも問題に遭遇した私の同僚を提案しました:

sed -i 's/ uuid="[^"]*"//g' $(find * -name \*.jrxml)

私は通常sed(1)-iを使用しませんが、彼女はGNU / Linuxを使用しているので、ここでは問題ありませんでした。これを解決するためのより専門的なUnixの方法は次のとおりです。

find * -name \*.jrxml -print0 | while IFS= read -d '' -r file; do
    ed -s "$file" <<-'EOF'
        1,$g/ uuid="[^"]*"/s///g
        w
        q
    EOF
done

(これらの4つのスペースはタブです。そうでない場合は機能しません。また、mksh(1)またはNULで区切られた入力を読み取ることができる別のシェルが必要です。)

Perlを使用することもできます。

find * -name \*.jrxml -print0 | xargs -0 perl -pi -e 's/ uuid="[^"]*"//g'

または、とにかく、あなたのニーズ、あなたのxargs(1)などに応じて、そのようなもの;-)

于 2013-10-25T11:59:09.127 に答える
2

ireport 4.6以降を使用している場合、uuidの問題を解決する最善の方法は、バージョン4.6からuuid属性が新しく導入されたため、同様のireport4.6以降を使用することです。それ以外の場合、uuidをjrxmlファイルから手動で削除すると、次のコンパイル時にuuidが対応するタグに再び配置されます...

于 2014-02-26T12:17:12.513 に答える
1

この問題は、クラスパスエントリが重複しているために発生しました。具体的には、古いバージョンのjasperreports-core-renderer.jarおよびjasperreports-extensions.jar([オプション]-> [クラスパス])のエントリです。

これらの重複したエントリは、iReportのアップグレード中に設定をインポートした後に表示されました。どうやらこれは、古いバージョンがクラスパスから削除されないためにiReportのバグが原因であると思われます。

したがって、以前のバージョンからの設定のインポートを回避するか、古い.jarを手動で削除してください。

于 2013-02-05T11:38:28.013 に答える
1

私には良い簡単な解決策があります。

JasperStudio5.5を使用したJasperServer4.5のレポートをサポートしています

  1. Jasper Studioで、サーバー参照がある場合は削除します。
  2. 接続を再作成します。サーバー接続を作成するときは、[詳細設定]> [Jasperサーバーライブラリバージョン]に移動し、リストからサーバーバージョンを選択します。
  3. レポートを開き、uuidタグが削除されていることを確認し、デプロイします
于 2014-02-28T19:06:22.587 に答える
1

私の場合、削除したばかりでuuid="63f04b11-4b7e-4cf1-99b5-a5ec6db799d6" 、完全に機能することをテストするためのサンプルレポートを生成しました

だからあなたは削除して試すことができますuuid=" "

于 2019-07-15T08:12:54.093 に答える
1

あなたはいつでも互換性を古いバージョンに設定することができます、それは私のために働きました。

ツール>オプション>iReport>一般>互換性

ここに画像の説明を入力してください

この後、xamlに移動し、何かを変更して再度保存し、レポートを実行してすべてのuuidを削除します。

于 2020-05-08T18:21:48.107 に答える
1

厳密に言えば、この修正はJaspersoft Studioのみを対象としていますが、この質問はattribute 'uuid' is not allowedエラーを検索するときの最初の結果です。

JasperServerバージョン<=4.5.0およびJaspersoftStudio6.11の場合:

  1. プロジェクトエクスプローラーでjrxmlファイルを右クリック->プロパティ->JaspersoftStudio->互換性->ソース.jrxmlバージョン->JasperReports4.5.0
  2. リポジトリエクスプローラーでサーバーを右クリック->JasperReportsサーバー接続の編集->詳細設定->JasperReportsライブラリバージョン->JasperReports4.5.0

Jaspersoft Studioを使用してサーバーに公開する場合は、2番目のステップが重要です。

于 2020-09-29T16:34:30.057 に答える