Maven使用本地Jar包

在Maven项目中使用本地JAR包有三种方法:

1. 使用system scope

  
    
      org.richard
      my-jar
      1.0
      system
      ${project.basedir}/lib/my-jar.jar
    
  

system scope引入的包,在使用jar-with-dependencies打包时将不会被包含,可以使用resources将本地包打进jar-with-dependencies


    
      
        org.apache.maven.plugins
        maven-shade-plugin
        
          
            make-assembly
            package
            
              shade
            
            
              
                jar-with-dependencies
              
              xxx-jar-with-dependencies
            
          
        
      
    
     
      
        lib/
        lib/
        
          **/my-jar.jar
        
      
    
  

生成的xxx-jar-with-dependencies.jar中,将会包含lib目录以及my-jar.jar,并且能够被在执行的时候被找到。

有的时候这种方法会实效,比如JDBCDriver在声明的时候Class.forName("xxx.Driver")就会说找不到类,用下面两种方法就可以。

2. 将jar包安装到本地repository中

比较喜欢这一种

mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar

3. 添加 in project repository,

用这种方式在新机器上执行时就不用运行mvn install:install-file命令了


    in-project
    In Project Repo
    file://${project.basedir}/lib



    org.richard
    my-jar
    1.0

你的jar包及路径必须严格遵循格式:/groupId/artifactId/version/artifactId-verion.jar

本例中: lib/org/richard/my-jar/1.0/my-jar-1.0.jar

你可能感兴趣的:(Maven使用本地Jar包)