我正在开发一个Web应用程序,使用JPA,Hibernate和Ivy进行依赖管理。
从maven repo向hibernate添加依赖是很简单的,但是现在我需要修改hibernate源代码,重新构建它并添加我自己的fork作为依赖项。
问题是hibernate使用gradle。我设法构建它(gradlew clean build),现在我在每个hibernate子项目中都有所有的jar(hibernate-entitymanager,hibernate-core等)。
我的项目现在依赖于我工作区中的其他项目,但这些项目使用常春藤,因此我可以将它们作为依赖项添加而没有任何问题(使用工作区功能中的解析)。现在我无法弄清楚如何导入hibernate ...
(我甚至不确定如何管理一个hibernate fork ...在另一个项目我已经分叉我只是配置常春藤(也是分叉项目使用常春藤)来使用分支,这样我就是一定要解决我的fork而不是原来的项目,但是hibernate使用gradle ...所以我不能使用分支)
在进行一个项目/的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"/>
有人能建议我解决方案吗? (或者指出正确的方法?)
答案 0 :(得分:0)
我已经按照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}这样的属性,如果有人知道该怎么做应该轻轻编辑它)
in 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 - &gt; 4.2.3-lelmarir)并在常春藤依赖中使用它