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 aymond,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包就能加载进去了。
 
 

 

 
原文地址:https://www.cnblogs.com/javJoker/p/7064335.html