2016-08-08 170 views
0

我正在使用Python/shell为Java项目开发一种部署脚本。该脚本目前可以从Sonatype Nexus存储库或项目的目标文件夹中复制jar。远程/ Nexus设置似乎都很好,但我感兴趣的是从本地Maven存储库复制,因为无论项目的安装位置如何,我都可以随时了解jar的位置。从本地Maven存储库复制jar

我想我的问题是:我只是从文件夹~/.m2/repository/{groupid}/{artifactid}/{version}复制第一个罐子俯瞰任何东西?或者这完全是一个很好的方法来解决这个问题?

+0

如何获取本地存储库的位置?通过阅读'settings.xml'? – JimHawkins

+0

我到目前为止,它总是在〜/ .m2/repository中,但我可以肯定地从那里读取它。我一旦发现它,我主要关心存储库的结构 –

+0

我想知道你的问题背后的“大图”是什么。你是否想要构建一个包含shell脚本和jar旁的目录结构之类的东西的发行版。你有没有考虑使用maven-assembly-plugin? – JimHawkins

回答

1

如果groupId由一个以上的部分,例如org.apache.httpcomponents,然后将文件夹结构反映了这一点:org/apache/httpcomponents/...

enter image description here

可能存在不止一个jar文件的版本目录中。

+0

我现在看到。我确实很感兴趣,如果有警告是否可以在文件夹内有多个罐子。我应该确保不要复制以“-javadoc.jar”或“-sources.jar”结尾的jar。再次,这个本地“黑客”只是为了快速测试。该脚本将通过Nexus的API获取更多“真正”的部署:) –