Maven如何打包本地Jar包

来源:互联网 发布:ps软件怎么修改文字 编辑:程序博客网 时间:2024/06/07 11:43

Maven的中心仓库http://mvnrepository.com/是非常强大的,很多的jar包都可以从其中找到,但是确实存在着无法从中心仓库找到的情况,一种可能是来自第三方的jar包,没有存入到Maven的中心仓库;另一种可能就是自己或者自己的团队开发的Jar包,就是本地一个jar文件,但是需要使用maven来进行管理。

那么,针对这两种情况,如何在项目中使用呢?

假设我们需要使用:org.uswframework.gencode-1.4.jar,这个Jar包,其实就是一个自己团队开发出来的jar包,肯定在Maven的中心仓库是找不到的,怎么办呢?

(1)将该jar包,放在项目的lib目录,或者其他的目录。

(2)在pom.xml里面增加该jar的引用,例如:

<dependency>

     <groupId>org.uswframework</groupId>

     <artifactId>gencode</artifactId>

     <version>1.4</version>

     <scope>system</scope>  

     <systemPath>${basedir}/lib/org.uswframework.gencode-1.4.jar </systemPath>  

</dependency>

 

这样就可以在项目中使用org.uswframework.gencode-1.4.jar了!

这里有个问题,在项目打包成war的时候,我们当然希望将这个jar包包含在/WEB-INF/lib目录下,那么如何将org.uswframework.gencode-1.4.jar包含在内呢?

其实也很简单,就在pom.xml里面做个配置即可,例如:

 

<build>

    <finalName>dynobike</finalName>

    <pluginManagement>

      <plugins>

        <plugin>

         <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-war-plugin</artifactId>

          <version>2.3</version>

          <configuration>

           <warName>dynobike</warName>

            <webResources>

            <resource>

             <directory>lib/</directory>

             <targetPath>WEB-INF/lib</targetPath>

              <includes>

               <include>**/*.jar</include>

              </includes>

            </resource>

            </webResources>

          </configuration>

        </plugin>

      </plugins>

    </pluginManagement>

  </build>

当然在include里面,也是可以打包其他的文件的,诸如xml,properties等配置文件。

打包以后,发现org.uswframework.gencode-1.4.jar果然已经在war包里面。

      其中,maven-war-plugin这个是maven的打包插件,可以让其指定在打包时执行一些自定义的操作。这里执行的操作就是将源lib目录下的*.jar文件包含到目标目录下(由targetPath来指定)。

原创粉丝点击