我得到了一个客户端的项目,该客户端有一堆依赖项,这些依赖项位于他们提供的WAR文件中。我已将依赖项添加到pom.xml:
<dependency>
<groupId>com.oragle.oipa</groupId>
<artifactId>PASJava</artifactId>
<version>10.2.0.25</version>
<type>war</type>
</dependency>
但显然,由于我实际拥有这些文件,因此Maven无法自动安装它们。我可以做些什么来让Maven识别他们的位置并为我设置它们?
答案 0 :(得分:0)
如果战争没有与pom.xml相关联,你应该“mavenize”它以便能够在另一个Maven项目中使用它作为Maven依赖。
1)您可以查看Maven安装插件的install-file
目标
它允许在本地存储库中生成和部署pom。
https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
通过您的示例,您可以通过以下方式生成并安装war工件:
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]