cvc-complex-type.3.2.2属性'uuid'不允许出现在元素'jasperreport'中

时间:2012-07-13 09:38:14

标签: jasper-reports ireport

下载适用于Linux的iReport-4.6.0,并在通过File-> New ...菜单创建新报告时,新报告未显示在预览中,而是显示错误消息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

可能是什么问题?

11 个答案:

答案 0 :(得分:29)

在iReport Designer中,您可以在选项窗口中将兼容模式更改为您喜欢的版本。 对我来说,如果我将兼容性放到jasperreport 3.5.1上,当我再次保存报告时,uuid都会被删除。

此致

答案 1 :(得分:19)

我找到了答案:

我使用notepad ++打开了JRXML文件并执行了uuid="\w*-\w*-\w*-\w*-\w*"的“搜索和替换”,并选择了带有空字符串的REGULAR EXPRESSION,然后删除了所有出现的错误标记。

为我工作。

答案 2 :(得分:2)

在notpad ++中打开报告,只删除uuid及其编号..在您编译正确并生成报告后....我有同样的问题,我以这种方式解决..

答案 3 :(得分:1)

我不使用Linux。但您使用iReport Designer-xx创建报告。您在项目中添加了相同版本的jasperreport(jasperreport-XX)jar。

答案 4 :(得分:1)

我刚建议我的同事也遇到了这个问题:

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

(这四个空格是制表符,否则它将无效,您需要mksh(1)或另一个可以读取NUL分隔输入的shell。)

你也可以使用Perl:

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

或类似的东西,无论如何,根据您的需要,您的xargs(1)等等; - )

答案 5 :(得分:1)

如果您使用的是ireport 4.6或更高版本,使用uuid解决问题的最佳方法是使用类似的ireport 4.6或更高版本,因为uuid属性是从4.6版本新引入的。 否则如果从jrxml文件中手动删除uuid,则uuid将再次放在下一个编译的相应标签中...

答案 6 :(得分:1)

您始终可以将Compability设置为旧版本,这对我有用。

工具>选项> iReport>常规>兼容性

enter image description here

此后转到xaml并更改任何内容并再次保存,然后运行report删除所有uuid。

答案 7 :(得分:1)

严格来说,此修复程序仅适用于Jaspersoft Studio,但是,此问题是搜索attribute 'uuid' is not allowed错误时的第一个结果。

对于Jasper Server版本<= 4.5.0和Jaspersoft Studio 6.11:

  1. 在项目资源管理器中右键单击jrxml文件->属性-> Jaspersoft Studio->兼容性->源.jrxml版本-> JasperReports 4.5.0
  2. 在资源库资源管理器中右键单击服务器->编辑JasperReports服务器连接->高级设置-> JasperReports库版本-> JasperReports 4.5.0

如果您正在使用Jaspersoft Studio发布到服务器,则第二步很重要。

答案 8 :(得分:0)

由于重复的类路径条目,更具体地说是旧版本的jasperreports-core-renderer.jar和jasperreports-extensions.jar(在选项 - &gt;类路径中)中的条目,因此在我的情况下发生了此问题。

在iReport升级期间导入设置后出现这些重复的条目。显然这是由于iReport中的一个错误,因为旧版本没有从类路径中删除。

因此,要么避免从先前版本导入设置,要么手动删除过时的.jars。

答案 9 :(得分:0)

我有一个很好的解决方案。

我支持使用Jasper Studio 5.5的Jasper Server 4.5报告

  1. 在Jasper Studio中,删除服务器引用(如果有)。
  2. 重新创建连接。创建服务器连接时,请转到“高级设置&gt; Jasper Server Library版本”,然后从列表中选择您的服务器版本。
  3. 打开报告,检查是否已删除uuid标记,部署

答案 10 :(得分:0)

就我而言,我刚刚删除了uuid="63f04b11-4b7e-4cf1-99b5-a5ec6db799d6" 我生成了一个示例报告以对其进行完美测试

所以您可以尝试删除uuid=" "