使用手动下载的依赖项运行Maven构建

时间:2017-06-22 10:56:55

标签: java maven adal4j

道歉,如果这是一个简单的解决方案,我是Java和Maven的新手,并且正在努力让它运转起来。

我试图在我的工作机器上实现ADAL4J sample。不幸的是,由于各种安全原因,我的工作机器无法访问Maven存储库,无法暂时连接到下载和所需的软件包。

我已经在我的个人计算机上启动并运行了示例,通过Maven生成了一个依赖项列表,并将它们手动下载到我的工作机器上(jar文件),但这就是我遇到的问题。

如何配置Maven构建过程以使用本地jar文件而不是尝试从Maven远程仓库下载它们?

编辑:忘记提及,任何解决方案都将与VSTS一起部署,VSTS也无法访问Maven存储库,因此任何独立于Maven存储库的引用依赖关系的方式都必须能够与之捆绑在一起。构建过程(它当前生成一个WAR文件)并部署到远程Tomcat服务器。

3 个答案:

答案 0 :(得分:1)

只需将您的罐子手动安装到本地存储库:

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

  

安装第三方JAR指南

     

虽然很少,但有时你会有第三方JAR   需要放入您的本地存储库以便在您的构建中使用,因为   它们不存在于Maven Central等任何公共存储库中。 JAR   必须按顺序放在正确位置的本地存储库中   因为它可以被Apache Maven正确选中。为了使这更容易,   并且不易出错,我们提供了一个目标   maven-install-plugin应该让这个相对无痛。至   使用以下命令在本地存储库中安装JAR:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
     

如果还有pom文件,您可以使用以下命令安装它   命令:

mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
     

使用版本2.5的maven-install-plugin,它会变得更好。如果   JAR是由Apache Maven构建的,它包含一个pom.xml   META-INF目录的子文件夹,默认情况下将被读取。在   那种情况,你需要做的就是:

mvn install:install-file -Dfile=<path-to-file>

答案 1 :(得分:1)

您可以对已手动下载的jar使用此命令:

mvn deploy:deploy-file -Durl=file://yourPath/.m2/repository -DrepositoryId=yourRepositoryId -Dfile=pathJar/yourJar.jar -Dversion=yourVersion -DgroupId=yourGroupId -DartifactId=yourArtifactId

答案 2 :(得分:1)

你可以试试这个:

  • 在您的项目上,在可以访问互联网的计算机上运行SELECT * from catAtt ca LEFT JOIN att a ON ca.attId = a.attId INNER JOIN ( SELECT DISTINCT eav.catId FROM ent LEFT JOIN eav ON ent.entId = eav.entId WHERE ent.key = 'somekey' )Z ON a.attCatId = Z.catId WHERE ca.catId = 53 。这将产生副作用,即Maven将下载您的依赖项并将它们放在本地存储库(位于mvn clean package文件夹内的Windows用户文件夹中)。
  • 取整个.m2文件夹并将其放在无法访问互联网的计算机上。

Maven总是首先检查本地仓库,任何依赖关系,所以你应该没问题。此外,它将为您省去必须逐个安装依赖项的麻烦,就像其他答案所示。

编辑:我想补充一点,如果你有很多依赖项,这个方法很有用。如果您只有少数 - 比如说5 - (尽管不太可能),那么在本地仓库中手动.m2可能会更好(install是在本地存储库中放置工件的过程),