将编译好的java类添加到maven项目中

发布于 2024-10-16 07:47:33 字数 165 浏览 1 评论 0原文

我收到了一些需要添加到项目中的已编译类。

我能想到的一种解决方案是使用这些文件创建一个 jar 并手动将其上传到存储库。显然这会起作用。但我想知道是否有更优雅的解决方案。也许我可以以某种方式将它们放在项目结构下?因此,文件将被签入源代码管理,并且更容易维护其版本等。

I received some compiled classes that I need to add to a project.

One solution I can think of is creating a jar with these files and manually uploading it to the repository. Obviously this will work. But I wonder if there is a more elegant solution. May be I can put them somehow under the project structure? So the files will be checked-in to the source control and it will easier to maintain their versions, etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你是年少的欢喜 2024-10-23 07:47:33

这是我根据鲍里斯答案的评论采取的方法(在发现自己昨天需要使用相同的方法之后,但无法找到我使用的答案的链接):

在您的项目目录中,创建一个名为 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 和版本的值将其添加到项目 pom.xml 中。然后,您可以将存储库文件夹添加到 SVN,并将更改提交到您的 pom.xml。现在,任何检查您的项目的开发人员都可以毫不费力地使用相同的依赖项。

Here's my approach as per the comments on Boris' answer (after finding myself needing to use the same yesterday, but unable to find the link to the answer I'd used):

In your project directory, create a folder called repo, which we'll use as a folder based Maven repository.

Add the following file repository to your project pom.xml:

<repositories>
    <repository>
        <id>file.repo</id>
        <url>file://${project.basedir}/repo</url>
    </repository>
</repositories>

Package your classes as a jar, and deploy them to the file repository, with the following command:

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;

Following this you can just add a normal dependency on the jar in your project pom.xml, using the values for groupId, artifactId and version you passed above. You can then add the repo folder to SVN, and commit the changes to your pom.xml. Any developer checking out your project will now be able to use the same dependency without any effort.

余生一个溪 2024-10-23 07:47:33

第一个想法比检查您无法控制的二进制文件要好得多。因此,将二进制文件捆绑在 jar 中,对其进行版本控制并将其部署到存储库上。

The first idea is way better then checking in binaries that you don't have control over. So, bundle binaries in a jar, version it and deploy it on the repository.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文