Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编辑快照依赖项_Java_Maven_Intellij Idea_Maven 3_Snapshot - Fatal编程技术网

Java 如何编辑快照依赖项

Java 如何编辑快照依赖项,java,maven,intellij-idea,maven-3,snapshot,Java,Maven,Intellij Idea,Maven 3,Snapshot,我对这个行业还很陌生,所以提前为这个问题的愚蠢道歉。 在团队中,我们使用Intellij IDEA 13作为IDE,并在项目中使用Maven 3。我们提供了一些在线服务和门户,我刚刚开始研究其中一个:该项目有几个依赖项,这些依赖项由其他较老的项目共享,一些是JAR归档,一些是WAR 对于我的问题:如何在本地编辑这些依赖项(例如,我想到的是编辑resources.properties),我的导师建议将依赖项转换为快照并使用它们。 我所做的是在本地存储库中创建相应文件夹的副本,并在名称或文件中更改依

我对这个行业还很陌生,所以提前为这个问题的愚蠢道歉。 在团队中,我们使用Intellij IDEA 13作为IDE,并在项目中使用Maven 3。我们提供了一些在线服务和门户,我刚刚开始研究其中一个:该项目有几个依赖项,这些依赖项由其他较老的项目共享,一些是JAR归档,一些是WAR

对于我的问题:如何在本地编辑这些依赖项(例如,我想到的是编辑resources.properties),我的导师建议将依赖项转换为快照并使用它们。 我所做的是在本地存储库中创建相应文件夹的副本,并在名称或文件中更改依赖项的版本,然后修改pom.xml文件

现在,如果我打开JAR/WAR并编辑一些文件,这将非常有效,但是我希望能够从我的IDE中完成这项工作,因为无法完成这项工作表明我可能是以错误的方式完成的。我是否需要以某种方式解包依赖项才能这样做?我的整个方法都错了吗


旁白:我想问问办公室里的人,但奇怪的是,今天没有一个能帮忙的人在上班了

如果你的同事都帮不了你,恐怕还有别的事要隐瞒

不过,让我们试试吧

在这里,我猜想您的
resources.properties
是他自己项目的一部分。项目由Maven处理,并在一个主项目中表示为依赖项

我还猜你的主要项目是WAR(主要是Web应用、服务、门户),JAR是库、配置等。)

因此,我猜您的webapps将一些库作为Maven依赖项引用到特定版本

这就是说,IntelliJ(和其他IDE)可以通过Maven轻松处理对JAR和WAR的修改,只要这一设想是有意义的


注意:版本号末尾有
-SNAPSHOT
,告诉Maven不要缓存包。相反,最终版本号被视为
已发布
,仅从缓存中获取。这一点很重要,因为使用
快照
,您可以发布无限次的时间,并且它保证具有最新版本

注意:执行
mvn clean install
将包发布到本地Maven存储库(通常位于~/.m2)中,并且仅对您可用


一般的良好实践是,在DVC的所有开发分支中,将所有您拥有的、经常修改的项目(不要太贪婪,这取决于具体情况)作为快照。在发布过程中(Maven有一个特定的插件),将所有版本更改为最终版本,并在这个精确的时刻发布(你永远不知道你是需要一个最小版本还是一个主要版本)。 因此,您的代码始终具有预期下一版本的快照编号

最后,我认为在您的情况下,如果您选择更改库中某个库的
pom.xml
以获取快照,则应该更改根项目的
pom.xml
以对应

如果此依赖项版本相同,则可以在IntelliJ中将库添加为
模块
,IDE将计算得出Maven dep和Java模块是同一实体


我甚至不知道这是否对你有帮助(我甚至不确定它是否清晰),但我希望它能让你问更多关于你需要什么的问题。你的同事可能会为你提供更多帮助。

在我看来,你需要依偎着一本关于Maven的好书,因为你的整个问题都源于不了解Maven的用途以及如何应用它。给你的建议听起来像是你应该将poms中的一些依赖版本更改为快照版本,以使用这些依赖项的最新开发版本,但这在很大程度上也是一种猜测,无法访问你的环境以了解真实情况。尽管这肯定是真的,现在还不太可行,因为我已经“被”扔进了Spring和Maven等等,我正在努力避免下班后读太多的书,因为时间是有限的资源,呵呵。这个建议的目的是让我能够修改依赖项,而不是拥有最新的版本(我相信,这就是我目前拥有的版本)。但正如你所指出的,我在我的专业“知识”方面仍然有很多差距,所以我不能完全肯定自己!这并不是说他们不能提供帮助:今天下午我的团队中没有开发人员在这里,所以我现在真的没有人可以问。我基本上理解了你刚才解释的部分内容,如果我没有误读的话,我认为部分内容就是我实际做的。我似乎无法理解的是修改文件(如前面提到的resources.properties,我正试图从库中修改),但将库作为模块添加似乎可以解决我的问题。我将尝试在周末进行调查,并找到一些关于Maven的好的和综合性的书!结果或多或少是这样,我缺少的一点是他们认为我可以从SVN签出项目,但实际上我没有访问该特定项目的权限。完成后,我只需要将其添加为模块,然后使用该本地快照版本作为依赖项。谢谢你的回答!