Maven引入本地Jar包并打包进War包中 ,跳过test打包: mvn package -Dmaven.test.skip=true

jar包的生成用target下的,不用out下的,如下这个可以输出到out,但是把maven引用的包打进来了,jar包过大,别的引用这个jar包的,maven会重复配置,打包会重。

前期先本地Jar包并打包进War包中,接下来用 nexus 建个私有仓库,配置maven引用到私有库;


开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。

1、拷贝至项目根目录

项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 
Maven引入本地Jar包并打包进War包中 ,跳过test打包: mvn package -Dmaven.test.skip=true_第1张图片

这4个Jar包是识别网页编码所需的包。

2、配置pom.xml,依赖本地Jar

配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于本地文件,和本地文件的所在路径。

<dependency>
    <groupId>jargsgroupId>
    <artifactId>jargsartifactId>
    <version>1.0version>
    <scope>systemscope>
    <systemPath>${basedir}/lib/jargs-1.0.jarsystemPath>
dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

其中,${basedir}是指项目根路径

3、配置Maven插件将本地Jar打包进War中

在进行以上配置以后,编写代码时已经可以引入Jar包中的class了,但是在打包时,由于scope=system,默认并不会将Jar包打进war包中,所有需要通过插件进行打包。

修改pom.xml文件,在plugins标签下加入下面的代码

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-dependency-pluginartifactId>
    <version>2.10version>
    <executions>
        <execution>
            <id>copy-dependenciesid>
            <phase>compilephase>
            <goals>
                <goal>copy-dependenciesgoal>
            goals>
            <configuration>
                <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/liboutputDirectory>
                <includeScope>systemincludeScope>
            configuration>
        execution>
    executions>
plugin>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

这样,打出来的war包中,就会包含本地引入的jar依赖了。


二、跳过项目的test阶段,需要加上-DskipTests。例如,项目安装命令:

      

[plain]  view plain  copy
 print ?
  1. mvn install -DskipTests  
      

        临时跳过的命令:

[html]  view plain  copy
 print ?
  1. mvn package -Dmaven.test.skip=true  

你可能感兴趣的:(java)