0

我正在开发一个 Web 应用程序,使用 JPA、Hibernate 和 Ivy 进行依赖管理。

从 maven repo 中添加对 hibernate 的依赖很简单,但是现在我需要修改 hibernate 源,重建它并添加我自己的 fork 作为依赖。

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

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

(我什至不知道如何管理休眠叉...到我的 fork 而不是原始项目,但休眠使用 gradle ......所以我不能使用分支)

aProject/ivy.xml

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

我的项目/ivy.xml

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

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

4

1 回答 1

0

我遵循了凯西的建议(谢谢凯西)并修改了 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>

其余的很简单,您只需要编辑休眠(或您的分叉库)版本以将其声明为自定义版本(例如 4.2.3 -> 4.2.3-lelmarir)并在 ivy 依赖项中使用它

于 2013-07-18T15:13:26.613 回答