mavean项目的jar位置的影响
由于项目的数据库需求改变了,有mysql数据库变为oracle的,那么对于项目就是需要改变数据库连接池。这个项目运用了mavean框架,那么下载jar在pom.xml文件中填写就可以了,但是oracle的jar在mavean上下载不下来,我网上查询了一下说是不可以从mavean上下载oracle的jar。于是我就想了在下载oracle的jar导入项目中就可以,如下图:
于是我就用Junit4框架进行测试,可以从数据库中得到数据显示在控制台上,但是mavean 的web项目在tomcat上启动,于是就是报如下错误:
我当时就纳闷了,单元测试可以通过,为什么tomcat启动就会报如上的错误,后来终于知道了。我们必须把额外的jar导入到mavean库(本地库),然后项目通过在在pom.xml文件中配置通过mavean本地库中进行加载才可以运行成功。
oracle的jar导入mavean本地库方法:
(1)下载一个oracle的jar包,我这里下载的是 ojdbc6。
(2)把下载好的jar放在计算机用户目录下面,c盘-》用户-》登录的用户名,例如:C:\Users\raymond,raymond是我本机用户名。
(3)在Windows中的DOS命令界面中,输入mvn install:install-file -DgroupId=oracle -DartifactId=ojdbc6 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=ojdbc6.jar。如果install成功失败会有相应的提示,你可以把文件夹复制到自己配置的mavean本地库中
(4)在项目pom.xml中输入
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10.2.0.1.0</version>
</dependency>
就可以了
我也在网上找了一下解决mavean无法加载本地lib下的jar问题,链接:http://www.360doc.com/content/15/0203/14/9148133_445960319.shtml
项目的jar包是一部分从maven库下载,一部分放在本地WEB-INF/lib下,其中放在本地的jar包是在maven库中找不到的。这就需要maven既加载maven库中的jar包,又要加载本地WEB-INF/lib下的 jar包。 现在终于解决问题了,方法是在pom.xml文件中添加一段配置: <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${basedir}/WebRoot/WEB-INF/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins> </build> 红色部分代码。 然后再编译,WEB-INF/lib下的jar包就能加载进去了。 |