我收到了一些我需要添加到项目中的编译类。
我能想到的一个解决方案是使用这些文件创建一个jar并手动将其上传到存储库。显然这会奏效。但我想知道是否有更优雅的解决方案。可能我可以把它们放在项目结构下?因此,文件将被签入源控件,并且更容易维护他们的版本等。
答案 0 :(得分:8)
根据对鲍里斯回答的评论,这是我的方法(在发现自己需要在昨天使用相同的内容之后,但无法找到我使用的答案的链接):
在项目目录中,创建一个名为repo
的文件夹,我们将其用作基于文件夹的Maven存储库。
将以下文件存储库添加到项目pom.xml
:
<repositories>
<repository>
<id>file.repo</id>
<url>file://${project.basedir}/repo</url>
</repository>
</repositories>
将您的类打包为jar,并使用以下命令将它们部署到文件存储库:
mvn deploy:deploy-file
-Durl=file:///absolute/path/to/your-project/repo \
-DrepositoryId=file.repo \
-Dfile=path-to-your.jar \
-DgroupId=some.external.project.group \
-DartifactId=the-artifact-name \
-Dversion=1.0 \
-Dpackaging=jar;
在此之后,您可以使用上面传递的groupId,artifactId和version的值,在项目pom.xml
中添加对jar的正常依赖关系。然后,您可以将repo文件夹添加到SVN,并将更改提交到pom.xml
。任何检查项目的开发人员现在都可以毫不费力地使用相同的依赖项。
答案 1 :(得分:2)
第一个想法比检查您无法控制的二进制文件更好。因此,在jar中捆绑二进制文件,对其进行版本化并将其部署在存储库中。