我对这个行业很陌生,所以请提前为这个问题的愚蠢道歉。 在团队中,我们使用Intellij IDEA 13作为IDE,并将Maven 3用于我们的项目。我们提供了一些在线服务和门户,我刚刚开始研究一个:项目有几个依赖项,由其他旧项目共享,一些是JAR档案,一些是WAR ...
回答我的问题:如何在本地编辑这些依赖项(例如编辑一个resources.properties就是我想到的情况)我的导师建议将依赖项转换为快照并使用它们。 我设法做的是在我的本地存储库中创建相应文件夹的副本,并在名称或文件中的依赖项版本中进行更改,然后修改我的pom.xml文件。
现在,如果我打开JAR / WAR并编辑某个文件,这可以很好地工作,但是我希望能够从我的IDE中执行此操作,也因为无法表明我可能正在执行此操作错误道。我是否需要以某种方式解压缩依赖关系才能这样做?我的整个方法是错的吗?
P.S。:我会问办公室里的某个人,但奇怪的是,那些可以提供帮助的人今天不再在工作了!
答案 0 :(得分:0)
如果你的同事都没有能够帮助你,我担心可能会隐藏其他东西。
然而,我们试试吧!
我猜这里,你的resources.properties
是他自己项目的一部分。由Maven处理的项目,表示为您主要项目中的一个依赖项。
我也猜测你的主要项目是WAR(主要是Web应用程序,服务,门户),JAR是库,配置等......)
因此,我猜你的webapps将某些库作为Maven依赖项引用到特定版本。
也就是说,只要愿景有意义,IntelliJ(和其他IDE)就可以通过Maven轻松处理相互关联的JAR和WAR的修改。
注意:在版本号末尾加-SNAPSHOT
告诉Maven不要缓存包。相反,最终版本号被视为released
,仅从缓存中获取。这很重要,因为使用SNAPSHOT
,您可以发布一个有限的时间,并保证拥有最新版本。
注意:执行mvn clean install
将包发布到您的本地Maven存储库(通常位于〜/ .m2 中)并且只对您可用。
一般的良好做法是,在您的DVCS的所有开发分支中,所有您拥有的,经常修改的项目(不要太贪婪,这取决于具体情况)作为SNAPSHOT。在发布期间(Maven有一个特定的插件)将所有版本更改为最终版本,归因于这个精确的时刻(你永远不知道你是否需要最小版本或专业)。 那么,您的代码始终是您预期的下一个版本的SNAPSHOT编号。
最后,我认为,在您的情况下,如果您选择更改某个库的pom.xml
作为SNAPSHOT,则应更改pom.xml
的根项目来对应。
如果此依赖项版本相同,则可以将您的库添加为IntelliJ中的module
,IDE将进行数学计算,以确定Maven dep和Java模块是同一个实体。 / p>
我甚至不知道这对你有帮助(我甚至不确定它是否清楚),但我希望它会让你问更多关于你需要什么的问题。你的同事可能会帮助你更多。