更改为可执行文件

时间:2016-09-21 20:57:13

标签: java maven compiler-errors compiler-warnings

我正在尝试使用maven编译器插件的可执行文件而不是基本的声明源/目标。当我这样做时,我遇到了编码的问题,我很好奇它为什么会发生。我知道将编码设置为cp1252可以解决使用可执行文件时的问题,但是无法弄清楚为什么utf-8在不使用可执行文件时没问题。

可执行文件:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <fork>true</fork>
                <executable>D:\Java\jdk1.7.0_79\bin\javac</executable>
                <source>1.7</source>
                <target>1.7</target>
            </configuration> 
        </plugin>

注意:D:\ Java \ jdk1.7.0_79也是我在环境中的JAVA_HOME

打破maven编译器版本3.1和3.5.1的编译:

[ERROR] D:\Projects\testproject\src\main\java\com\test\service\TestService.java:
[467,70] error: unmappable character for encoding UTF-8

原稿:

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin> 

仍然可以成功编译,但这是在日志中: maven编译器插件版本:3.5.1

[ERROR] /D:/Projects/testproject/src/main/java/com/test/service/TestService.java
[467,85] unmappable character for encoding UTF-8

maven编译器插件版本:3.1

[WARNING] /D:/Projects/testproject/src/main/java/com/test/service/TestService.java
[467,85] unmappable character for encoding UTF-8

从两个日志传递的参数:-g -nowarn -target 1.7 -source 1.7 -encoding UTF-8。

我在maven编译器插件主页上注意到了:

  

编译器插件   用于编译项目的源代码。从3.0开始,默认   编译器是javax.tools.JavaCompiler(如果你使用的是java 1.6)和   用于编译Java源代码。如果你想强制插件使用   javac,您必须配置插件选项forceJavacCompilerUse。

有没有办法让可执行文件使用相同而不是javac,如果这导致了问题?

非常感谢任何帮助。

0 个答案:

没有答案