maven 常用配置

在DOS下执行mvn compile命令时报错说缺少必要符号,事实上根本就没有缺少,为啥eclipse在编译时就没有这问题呢?

原因是编码的问题造成的!

eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编码。

当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。

问题解决方案是在pom.xml文件中添加如下代码:

<properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
</properties>  
 或者添加如下代码:
<plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>3.1</version>  
        <configuration>  
                <source>1.5</source>  
                <target>1.5</target>  
                <!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->  
                <encoding>UTF-8</encoding>
        </configuration>  
</plugin>  
<plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-resources-plugin</artifactId>  
        <version>2.6</version>  
        <configuration>  
                <!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->  
                <encoding>UTF-8</encoding>
        </configuration>  
</plugin>  

如果你用eclipse建立maven项目时,新建的项目往往JDK版本很低——1.5!怎么办?修改settings.xml文件:

<profile>  
        <id>jdk-1.6</id>  
        <activation>  
                <activeByDefault>true</activeByDefault>  
                <jdk>1.6</jdk>  
        </activation>  
        <properties>  
                <maven.compiler.source>1.6</maven.compiler.source>  
                <maven.compiler.target>1.6</maven.compiler.target>  
                <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>  
        </properties>  
</profile>  

 eclipse会很听话的构建一个JDK1.6版本的maven项目!

在DOS下执行mvn compile命令时报错说缺少必要符号,事实上根本就没有缺少,为啥eclipse在编译时就没有这问题呢?

原因是编码的问题造成的!

eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编码。

当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。

问题解决方案是在pom.xml文件中添加如下代码:

<properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
</properties>  
 或者添加如下代码:
<plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>3.1</version>  
        <configuration>  
                <source>1.5</source>  
                <target>1.5</target>  
                <!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->  
                <encoding>UTF-8</encoding>
        </configuration>  
</plugin>  
<plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-resources-plugin</artifactId>  
        <version>2.6</version>  
        <configuration>  
                <!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->  
                <encoding>UTF-8</encoding>
        </configuration>  
</plugin>  

如果你用eclipse建立maven项目时,新建的项目往往JDK版本很低——1.5!怎么办?修改settings.xml文件:

<profile>  
        <id>jdk-1.6</id>  
        <activation>  
                <activeByDefault>true</activeByDefault>  
                <jdk>1.6</jdk>  
        </activation>  
        <properties>  
                <maven.compiler.source>1.6</maven.compiler.source>  
                <maven.compiler.target>1.6</maven.compiler.target>  
                <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>  
        </properties>  
</profile>  

 eclipse会很听话的构建一个JDK1.6版本的maven项目!

猜你喜欢

转载自jaesonchen.iteye.com/blog/2292580