Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 1字节UTF-8序列的无效字节1_Ant_Utf 8_Maven_Facelets_Myfaces - Fatal编程技术网

Ant 1字节UTF-8序列的无效字节1

Ant 1字节UTF-8序列的无效字节1,ant,utf-8,maven,facelets,myfaces,Ant,Utf 8,Maven,Facelets,Myfaces,我有一个MyFaces Facelets应用程序,其中页面编码有点粗糙。无论如何,它是用Eclipse开发的,用Ant构建的,在Tomcat2.0.26中运行正常。到目前为止还不错 现在,我宁愿用Maven构建,所以我制作了两个pom文件,在Netbeans中打开并构建,现在我有了一个部署正常的war文件。然而,在任何facelet页面上,它都会吐出来 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceExceptio

我有一个MyFaces Facelets应用程序,其中页面编码有点粗糙。无论如何,它是用Eclipse开发的,用Ant构建的,在Tomcat2.0.26中运行正常。到目前为止还不错

现在,我宁愿用Maven构建,所以我制作了两个pom文件,在Netbeans中打开并构建,现在我有了一个部署正常的war文件。然而,在任何facelet页面上,它都会吐出来

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:554)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
所以,我尝试了很多不同的方法,应用程序实际上运行的是没有facelet的简单页面。但是,如果我只是用Ant构建,一切都会运行。。。所以我的问题是:ant构建和maven构建之间最有可能导致这种情况的区别是什么

看起来,即使我在Netbeans和pom文件中配置了UTF-8,Netbeans在经过一些编辑后最终还是将facelet文件报告为ISO-8859-1

我已经确保大多数中央lib都是相同的版本(特别是xerces2.3.0),我添加了一个编码servlet过滤器,但没有效果

而且,我宁愿修复maven构建并保留bug页面,而不是相反的方式。。。我的目的是介绍Naven,而不是修复错误页面

下面是pom.xml关于编码的说明:

基本上pom.xml有以下集合

 <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>${project.build.sourceEncoding}</encoding>>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

....

    <properties>
        <netbeans.hint.deploy.server>Tomcat60</netbeans.hint.deploy.server>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
    </properties>

org.apache.maven.plugins
maven编译器插件
2.0.2
1.6
1.6
${project.build.sourceEncoding}>
org.apache.maven.plugins
maven资源插件
2.2
${project.build.sourceEncoding}
....
Tomcat60
utf-8

我也有同样的问题

我使用以下代码解决了这个问题:

String str = new String(oldstring.getBytes("UTF-8"));

我也有同样的问题

我使用以下代码解决了这个问题:

String str = new String(oldstring.getBytes("UTF-8"));
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1字节UTF-8序列的字节1无效

原因是文件未被解析为UTF-8。解析器可能遇到范围
FE
-
FF
的字节值。这些值在UTF-8编码中无效

这个问题可以通过将文件的XML声明更改为正确的编码或将文件重新编码为UTF-8来解决

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1字节UTF-8序列的字节1无效

原因是文件未被解析为UTF-8。解析器可能遇到范围
FE
-
FF
的字节值。这些值在UTF-8编码中无效


这个问题可以通过将文件的XML声明更改为正确的编码或将文件重新编码为UTF-8来解决。

在Windows上,这非常简单。如果没有记事本+,请获取它,并使用“encoding”(编码)菜单更改编码。

在Windows上,这非常简单。如果没有记事本+,请获取记事本+,并使用“encoding”(编码)菜单更改编码。

即使我在Netbeans和pom文件中配置了UTF-8,您是否可以显示您在pom中所做的操作?看起来不错。然而,如果不“看到整体”,似乎很难说什么。以防万一,看看。对不起,我不能发布整个应用程序。不过,任何部分。。。我试着签入一个十六进制编辑器,“即使我在Netbeans和pom文件中配置了UTF-8,你能显示你在pom中做了什么吗?”看起来不错。但是,没有“看到全部””,似乎很难说什么。以防万一,看看。对不起,我不能发布整个应用程序。不过,任何部分。。。我试着签入一个十六进制编辑器“这不是一个好的解决方案。这将可疑有效性的字符串编码为UTF-8字节,然后使用系统编码对其进行解码。根据运行此代码的计算机的不同,此操作可能会损坏数据或完全不执行任何操作。这不是一个好的解决方案。这将可疑有效性的字符串编码为UTF-8字节,然后使用系统编码对其进行解码。根据运行此代码的机器的不同,此操作可能会损坏数据或完全不执行任何操作。我也有同样的问题-在记事本++中打开xml文件时,会显示该文件以“UTF-8无BOM”编码。我也尝试过(使用记事本++)将文件转换为“UTF-8”——错误消息仍然不变。我的xml声明是:在我看来,编码与声明匹配,但仍然出现上面给定的错误?或者我遗漏了什么?我有同样的问题-当在记事本++中打开xml文件时,它说该文件以“UTF-8无BOM”编码。我也尝试过(使用记事本++)将文件转换为“UTF-8”——错误消息仍然不变。我的xml声明是:在我看来,编码与声明匹配,但仍然出现上面给定的错误?还是我遗漏了什么?