.idea/jarRepositories.xml
,其内容如下:<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>
这个问题已经有了一个问题,VonC回答说可以将其添加到.gitignore
中。
我在想是否应该将它添加到.gitignore
中,并且不应该将其提交到git中。如何决定将其添加到.gitignore
中?
JetBrains.gitignore
在撰写本问题时,GitHub的流行仓库gitignore中有Android.gitignore
,但没有.idea/jarRepositories.xml
。
另一方面,Global/JetBrains.gitignore
有以下注释。
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
如您所见,它有一个名为
.idea/jarRepositories.xml
的行并被注释掉了。它还有以下说明:Gradle和Maven自动导入
使用Gradle或Maven自动导入时,应该排除模块文件,因为它们将被重新创建,可能会导致不必要的麻烦。如果使用自动导入,请取消注释。
在Android Studio 4.0.x中,是否可以在没有自动导入的情况下使用Gradle?
远程Jar仓库
在上述
Global/JetBrains.gitignore
中,davidkron的pull request添加了一行# .idea/jarRepositories.xml
,并且他commented如下:自从IntelliJ 2019.3以来,这个文件自动出现在我们的git更改中。它似乎只是关于在Maven/Gradle中定义的远程仓库的缓存信息。
做出此更改的原因:
在Maven/Gradle构建中,不应提交自动生成的文件。
支持这些规则更改的文档链接:
我没有找到关于这个文件的文档或文章,但我基于以下步骤做出了我的假设:
在IntelliJ中,“远程Jar仓库”可以在设置菜单中管理
我删除了列表中的所有条目->文件消失了
我重新导入了Maven/Gradle项目
文件再次出现,并且与之前相同的条目存在
正如他的评论,Android Studio 4.0.1具有“远程Jar仓库”设置,如下面的屏幕截图所示。 我查看了Android Studio
4.0.0
的发布说明,找到了以下部分:
IntelliJ IDEA 2019.3.3
核心的Android Studio IDE已经通过2019.3.3版本得到了来自IntelliJ IDEA的改进。
要了解包含在版本2019.3.3中的其他IntelliJ版本的改进,请参阅以下页面:
- IntelliJ IDEA 2019.3
- IntelliJ IDEA 2019.3.3
我不确定是否应该在.gitignore
中添加.idea/jarRepositories.xml
并且不将其提交到git。我该如何决定是否添加它?如果有人能澄清标准,我将不胜感激。
更新:
在Android Studio 4.0.0
的源代码中,我发现了定义文件名jarRepositories.xml
的源文件:
JpsRemoteRepositoriesConfigurationSerializer.java
public JpsRemoteRepositoriesConfigurationSerializer() {
super("jarRepositories.xml", "RemoteRepositoriesConfiguration");
}
RemoteRepositoriesConfiguration.java
@State(name = "RemoteRepositoriesConfiguration", storages = @Storage("jarRepositories.xml"))
public class RemoteRepositoriesConfiguration implements PersistentStateComponent<RemoteRepositoriesConfiguration.State> {
// ...
}
我在JetBrain的IntelliJ IDEA社区版存储库中找到了它们的起源。
Jps
代表JetBrains项目系统,根据一份文件:
外部构建过程中的项目模型由JPS(JetBrains项目系统)提供。
JPS的以前的存储库描述自己为:
基于Gant的构建框架+ dsl,具有声明性项目结构定义和自动IntelliJ IDEA项目构建