2012-06-19 57 views
2

我希望让Maven编译我用-Dfile.encoding = UTF8标志项目,通过将其设定在pom.xml,父项目。如何设置编译器编码?

这是没有这样做:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

所以我得到这个错误时,Maven的编译:

javac option: M:\Parent\persistence\target\generated-sources\apt 
...\Database.java:90: error: unmappable character for encoding Cp1252 
    * Semantics of SQL INSERT OR IGNOREÃ? 
+0

我们可以看到Database.java中的犯罪行吗?只是为了完整性? –

+0

它看起来Database.java是一个生成的文件,可能是你错过了在插件配置正确的?它生成了Database.java文件... – khmarbaise

回答

2

根据该文档,你有什么看起来是正确的:

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

因为这是失败,尝试显式地设置:

  <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
        <encoding>${project.build.sourceEncoding}</encoding> 
       </configuration> 
      </plugin> 
+1

查看文档:默认值是:$ {project.build.sourceEncoding}。 – khmarbaise

+0

即使这样做(甚至 UTF-8做求解带的问题。我只将父POM。也许如果我在这个项目改变POM它会奏效。 – simpatico