gpt4 book ai didi

java - 依赖于使用 Ivy 的gradle项目

转载 作者:行者123 更新时间:2023-12-03 06:24:04 24 4
gpt4 key购买 nike

我正在使用JPA,Hibernate和Ivy进行依赖管理的Web应用程序上工作。

从Maven存储库中将依赖项添加到 hibernate 是很简单的,但是现在我需要修改 hibernate 源,重新构建它并添加我自己的fork作为依赖项。

问题是 hibernate 使用gradle。我设法构建它(gradlew干净构建),现在我在每个hibernate子项目(hibernate-entitymanager,hibernate-core等)中都有所有jar。

现在,我的项目依赖于工作区中的其他项目,但是这些项目使用ivy,因此我可以毫无问题地将它们添加为依赖项(使用工作区中的resolve功能)。现在我不知道如何导入 hibernate ...

(我什至不知道如何管理 hibernate 分支……在我 fork 的另一个项目中,我只是将ivy(也就是使用ivy的 fork 的项目)配置为使用分支,这样我就可以解决到我的 fork 而不是原始项目,但是 hibernate 使用gradle ...所以我不能使用分支)

aProject/ivy.xml

<info
organisation="it.example"
module="aProject"
branch="myFork"
status="integration">
</info>

myProject/ivy.xml
<dependency org="it.example" name="aProject" branch="myFork" rev="latest.integration" conf="runtime->default"/>

谁能建议我解决方案? (或指出正确的方法?)

最佳答案

我遵循了Casey的建议(谢谢Casey),并修改了gradle脚本以发布到我的仓库中。 (在本地仓库中,因为我在尝试在本地网络上发布时遇到错误,但这是另一个问题)

这是我所做的:
在build.gradle中:

    uploadArchives {
repositories.mavenDeployer {
name = 'localDeployer'
configuration = configurations.deployerJars
pom.project pomConfig
repository(url: "file://C:/Users/<myUserName>/.m2/local/")
}
}

(我无法使用$ {user.home}之类的属性,如果有人知道该怎么做,则应轻轻地对其进行编辑)

在ivysettings.xml中
<resolvers>
<filesystem name="local-maven-2" m2compatible="true"
local="true">
<artifact pattern="${user.home}/.m2/local/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
<ivy pattern="${user.home}/.m2/local/[organisation]/[module]/[revision]/[module]-[revision].pom" />
</filesystem>
</resolvers>

其余的很简单,您只需要编辑 hibernate (或派生库)版本以将其声明为自定义版本(例如4.2.3-> 4.2.3-lelmarir),然后在 Ivy 依赖项中使用它

关于java - 依赖于使用 Ivy 的gradle项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17724252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com