如何使用Maven Overlay和本地工件

时间:2015-01-11 00:50:28

标签: java maven configuration maven-plugin maven-central

以下是如何使用Maven Overlay插件将Java Web应用程序项目与Maven Central中托管的Web应用程序项目重叠的示例:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-war-plugin</artifactId>
     <version>2.3</version>
     <configuration>
         <warName>cas</warName>
         <overlays>
             <overlay>
                <groupId>org.jasig.cas</groupId>
                <artifactId>cas-server-webapp</artifactId>
                <excludes>
                    <exclude>WEB-INF/cas.properties</exclude>
                    <exclude>WEB-INF/classes/log4j.xml</exclude>
                </excludes>
             </overlay>
        </overlays>
    </configuration>
<plugin>

如您所见,该示例将Maven配置为使用存储在Maven Central上的cas-server-webapp WAR覆盖项目。但是如果我在我的cas-server-webapp Maven缓存中本地存储了我自己的m2项目怎么办?如果我想使用那个(本地)WAR而不是Maven Central上托管的那个怎么办?我现在已经两次阅读了Maven Overlay文档,并且看不出我如何配置它。

如何配置Maven Overlay插件以从我的本地Maven缓存(m2)而不是Maven Central中提取覆盖WAR?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情: 在您的项目中创建名为lib的文件夹,并将文件复制到Maven

        <dependency>
        <groupId>testID</groupId>
        <artifactId>myArtifactID</artifactId>
        <version>3.6</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/your_library_file.jar
        </systemPath>
        <optional>false</optional>
    </dependency>