其实,一开始写这个框架,我都是以普通java项目编写的,现在,公布出来,那就不能用普通java项目的形式了,得改成maven项目。然后,我会把项目上传到github上,可以大家一起开发。把项目改成maven项目,也是各种纠结,都是pom.xml配置文件的问题,弄得脑壳疼,想死的心都有!!!其实之前也用过maven和git,但都用得比较简单。之前使用maven,也只是安装maven,然后使用开发给的命令,把项目打包,发布到测试环境。但是自己编写一个maven项目,却没有真正意义上的做过。主要遇到的问题有:
1. 写好依赖配置,提示jar is missing,原因不明,我把写好的配置剪切再粘贴回去,就好了。
2. 依赖配置换行缩进,空格不一样,可能也会引起依赖配置不能正确读取
3. maven本地仓库明明已经有jar,但是代码里import不到,这个就是让我头疼不已的问题。让我头疼,倒不是这个问题难解决,而是这个问题,与另一个问题一起出现,扰乱了我的视线。另一个问题就是jdbc驱动包换了版本,驱动也不一样。然后我换过驱动,还有加载不了驱动,真实的原因就是仓库有jar,但加载不到。然而我却执着于表象,总以为是驱动不对,或是数据库配置不对。兜兜转转,没有找到问题的根本,再怎么弄,也解决不了问题,最后弄得身心俱疲。最后,我把本地仓库的驱动包删了,让maven重新下载一次,就可以了。中间试过重建maven本地索引,没有解决。
如果想要使用命令行,运行maven进行项目打包,那么就需要安装maven,至于安装maven的步骤,网上的教程一大把,这里就不写了,资源在我的网盘里也有,不过是3.6.0版本的,现在应该不是最新的版本。资源地址: https://pan.baidu.com/s/1MX4t_kT3iNHmtIsO67YqXQ,提取码:nn1k,在maven文件夹下。
当然,使用网盘里的eclipse的话,里面就已经集成了maven,可以不安装maven。那么,接下来,就使用eclipse来构建一个maven项目,首先,打开eclipse,在左边的项目列表区,空白处右击,选择new-Other...
上面的输入框输入maven,再点击Maven Project,Next —>
Next ——>
选择 quickstart,Next ——>
Group Id填写org.kingeasy,我为这个框架取名为kingeasy,一级域名org,代表是开源的。Artifact Id填写base,这个先就这么填,后面再改,Finish ——>
项目的目录结构就是这样的,然后点击项目名,按F2,把项目改名为kingeasy,再双击pom.xml,打开文件
点击右下的pom.xml,换成源码模式,然后把下面的配置复制进去
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.kingeasy</groupId>
<artifactId>kingeasy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>kingeasy</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- jackson依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.7</version>
</dependency>
<!-- jackson依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.7</version>
</dependency>
<!-- jackson依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.7</version>
</dependency>
<!-- servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- 连接池c3p0依赖 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.4</version>
</dependency>
<!-- mysql连接驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
然后就会看到项目中引入了相关的jar文件了
好了,右击项目,Run As —— Maven clean
出现BUILD SUCCESS,就代表成功了,当然,如果你电脑是第一次执行这个命令,会下载很多东西,因为maven要执行clean命令,要下载相关的jar文件,才能执行这个命令。
然后,再执行安装命令,右击项目,Run As —— Maven install
执行这个,下载的东西就更多了,最后出现BUILD SUCCESS就代表安装成功了。执行安装,会先执行编译命令,再执行测试命令,然后才是安装,有关maven命令执行的一些细节,大家可以自己找度娘了解。那么现在安装了,安装的东西在哪?
首先,在项目的target目录下,会有一个kingeasy....jar的文件,这个就是安装文件,实际上就是项目打成的jar包。同时在maven的本地仓库里,也会有一份这个文件,如果没有设置maven本地仓库的话,那么maven的本地仓库默认是在用户的目录下的.m2文件夹。
看上面的目录,repository是仓库目录,org和kingeasy是Group Id,最后面的kingeasy是Artifact Id,再下面的0.0.1-SNAPSHOT就是版本,每一个版本,都会有一个文件夹,文件夹的名称就是版本号,maven就简单介绍这些,更详细的,大家自己找资料学习吧
欢迎加入测试群:91425817,一起讨论测试的那此事。