前言
为了代码的安全性等问题,在一个网站项目上线前,需要通过maven、ant等工具对代码进行编译,然后将相应的代码放入指定的目录。下面介绍的是maven编译java项目的遇到的问题及解决方法。(更新中)
代码问题
说到底主要还是版本的问题。
有一些时候,开发写代码的时候没有考虑线上的环境问题,用java写代码时采用了与环境不符的java版本。
而在编译的时候可能编译服务器的maven或java的版本,与开发提供的代码不适宜,就像是用盒子包装了大树,因此不成功。
解决这一问题的两个方法:
1、开发更改代码
2、升级线上的生产环境的java版本
(因为编译环境一般是与线上环境相同的。即使是将编译器的java版本替换,强制编译完成,上线到生产环境中,也可能会产生问题,影响服务)
一般生产环境的java是已经跑了很多的服务的,升级线上的java环境时,会导致服务停止,一般不采纳。
maven 与 jdk 对应的版本
maven下载地址:
http://mirrors.hust.edu.cn/apache/maven/
Java 7
3.5.0-alpha-1
3.3.9
3.3.3
3.3.1
Java 6
3.2.5
3.2.3
3.2.2
3.2.1
Java 5
3.1.1
3.1.0
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0
3.0-beta-3
3.0-beta-2
3.0-beta-1
3.0-alpha-7
3.0-alpha-6
3.0-alpha-5
3.0-alpha-4
3.0-alpha-3
2.2.1
2.2.0
Java 4
2.1.0 – 2.0
maven编译java项目的问题解决方法
方法一:更换版本
如确定开发提供的代码符合线上的生产环境
直接更换编译服务器maven或java的版本为相应版本,java要与生产环境版本相同。
方法二:修改maven的默认jdk版本(两种方式)
【1】修改maven 的 setting.xml 文件中的jdk版本号(1.7)
<profiles>
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
【2】修改项目的 pom.xml 文件的jdk版本号(1.7)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>