将战争用作Maven的依赖



我是由客户提供的项目,该项目在他们提供的战争档案中具有许多依赖关系。我已将依赖关系添加到pom.xml:

<dependency>
        <groupId>com.oragle.oipa</groupId>
        <artifactId>PASJava</artifactId>
        <version>10.2.0.25</version>
        <type>war</type>
</dependency>

,但很明显,由于我物理上有文件,因此无法自动安装它们。我该怎么做才能让Maven识别他们的位置并为我设置它们?

如果战争与pom.xml无关,则应该" mavenize"它能够使用它是另一个Maven项目中的Maven依赖性。

1)您可以查看Maven安装插件的install-file目标。
它允许生成和部署POM在您的本地存储库中。

https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

在您的示例中,您可以以这种方式生成并安装战争伪像:

mvn install:install-file -Dfile=locationOfYourWarFile -DgroupId=com.oragle.oipa
    -DartifactId=PASJava -Dversion=10.2.0.25 -Dpackaging=war

2)您还可以查看Maven部署插件的deploy-file目标。
它允许在远程存储库中生成和部署POM。如果其他用户需要战争作为Maven依赖性,则可能会很有用。
http://maven.apache.org/plugins/maven-deploy-plugin/usage.html

这是文档中的一个示例:

mvn deploy:deploy-file -Durl=file://C:m2-repo 
                       -DrepositoryId=some.id 
                       -Dfile=your-artifact-1.0.jar 
                       [-DpomFile=your-pom.xml] 
                       [-DgroupId=org.some.group] 
                       [-DartifactId=your-artifact] 
                       [-Dversion=1.0] 
                       [-Dpackaging=jar] 
                       [-Dclassifier=test] 
                       [-DgeneratePom=true] 
                       [-DgeneratePom.description="My Project Description"] 
                       [-DrepositoryLayout=legacy] 
                       [-DuniqueVersion=false]

最新更新