maven 引用本地jar

maven 引用本地jar

Administrator 1121 2020-03-03

第一种

先在你项目的根目录下添加 jar 包,结构按照正常的 maven jar 包结构
你的 jar 包及路径必须严格遵循格式:

/groupId/artifactId/version/artifactId-verion.jar

例如

lib/aa/bb/1.0/bb-1.0.jar

然后在你 pox.xml 里添加项目内的 repo,url 指定本地 jar 包所在的目录

<repository>
  <id>in-project</id>
  <name>In Project Repo</name>
  <url>file:///${project.basedir}/lib</url>
</repository>

最后添加依赖

<dependency>
  <groupId>aa</groupId>
  <artifactId>bb</artifactId>
  <version>1.0</version>
</dependency>

另一种方式

<dependency>
    <groupId>org.jasig.cas</groupId>
    <artifactId>cas-server-webapp</artifactId>
    <version>4.2.3</version>
    <type>war</type>
    <!-- 注意scope是system  -->
    <scope>system</scope>
   <!--  <systemPath>C:/Users/ice-wee/Downloads/cas-server-webapp-4.0.3.war</systemPath> -->
    <systemPath>${project.basedir}/suiyijiandewenjianjia/cas-server-webapp-4.0.3.war</systemPath>
    <!-- systemPath 可以写  1 本地路径 也可以写 2 项目根路径,项目根路径不是相对classpath 。 -->
</dependency>

这种方式是不会把 jar 打到 war 中的,解决方案

<build>
    <finalName>weixin</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <resource>
                        <directory>${project.basedir}\</directory>
                        <targetPath>WEB-INF/lib</targetPath>
                        <filtering>true</filtering>
                        <includes>
                            <include>pinyin4j-2.5.0.jar</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>

directory 是 pinyin4j.jar 的路径
targetPath 则是编译后要把这些 jar 包复制到的位置
includes 可以省略