gradle 组、模块和工件中有什么?
What's in gradle a group, module and artifact?
gradle 文档没有花时间解释他们正在处理的实体。所以才想问这么基础的问题
我要详细了解 group、module 和 artifact 这些术语的真正含义来更改此代码:
compile('com.thoughtworks.xstream:xstream:1.4.7') {
exclude group: 'xmlpull', module: 'xmlpull'
}
大约一年前,我使用从 Android dalvik conversion for xmlpullparser 中获取的排除语句来修复多个 dex 文件失败。
但是升级到AndroidStudio 3.0后又出现了这个错误!现在它说: Multiple dex files define Lorg/xmlpull/mxp1/MXParser
有时 ...XmlPullParserException.java
所以,我想了解我给 exclude
的参数必须如何整形。
阅读 documentation 可以认为 group 是包名称,工件是 class:
//excluding a particular transitive dependency:
exclude module: 'cglib' //by artifact name
exclude group: 'org.jmock' //by group
exclude group: 'org.unwanted', module: 'iAmBuggy' //by both name and group
另一个 chinese page (translated) 使用了那些排除项
compile ( 'com.thoughtworks.xstream: xstream: 1.4.7' ) {
exclude group : 'xmlpull'
exclude group : 'XmlPullParser'
}
建立在那个发现奇迹的基础上
- 当包名称以
org.xmlpull
开头时 xmlpull
如何工作?
- 这些术语在我的场景中指的是什么项目。组名是在哪里定义的?
XmlPullParser
是个什么样的群体?
- 我必须在更改这些参数后清理、重建或只构建项目吗?因为有时它会抱怨不同的文件。
组、工件和版本是半随机选择的,不需要匹配包或 jar 文件中的 类。
例如 commons-lang 有 groupId = 'commons-lang'
但 类 在 org.apache.commons.lang.*
包中
组、工件和版本在项目的构建文件中定义。在 Maven 中,这将在 pom.xml
中,在 gradle 中,这将在 build.gradle
(和 settings.gradle
)
中
如果您想了解项目的组、工件、版本(又名 GAV,又名 maven 坐标),您通常会转到项目的主页。
您还可以使用 maven central advanced search 到 "fuzzy" 搜索,例如通过 artifactId 或 jar 中的类名。如果您使用的是内部存储库,您可能 "fuzzy" 还可以通过 Web 界面进行搜索
gradle 文档没有花时间解释他们正在处理的实体。所以才想问这么基础的问题
我要详细了解 group、module 和 artifact 这些术语的真正含义来更改此代码:
compile('com.thoughtworks.xstream:xstream:1.4.7') {
exclude group: 'xmlpull', module: 'xmlpull'
}
大约一年前,我使用从 Android dalvik conversion for xmlpullparser 中获取的排除语句来修复多个 dex 文件失败。
但是升级到AndroidStudio 3.0后又出现了这个错误!现在它说: Multiple dex files define Lorg/xmlpull/mxp1/MXParser
有时 ...XmlPullParserException.java
所以,我想了解我给 exclude
的参数必须如何整形。
阅读 documentation 可以认为 group 是包名称,工件是 class:
//excluding a particular transitive dependency:
exclude module: 'cglib' //by artifact name
exclude group: 'org.jmock' //by group
exclude group: 'org.unwanted', module: 'iAmBuggy' //by both name and group
另一个 chinese page (translated) 使用了那些排除项
compile ( 'com.thoughtworks.xstream: xstream: 1.4.7' ) {
exclude group : 'xmlpull'
exclude group : 'XmlPullParser'
}
建立在那个发现奇迹的基础上
- 当包名称以
org.xmlpull
开头时xmlpull
如何工作? - 这些术语在我的场景中指的是什么项目。组名是在哪里定义的?
XmlPullParser
是个什么样的群体?- 我必须在更改这些参数后清理、重建或只构建项目吗?因为有时它会抱怨不同的文件。
组、工件和版本是半随机选择的,不需要匹配包或 jar 文件中的 类。
例如 commons-lang 有 groupId = 'commons-lang'
但 类 在 org.apache.commons.lang.*
包中
组、工件和版本在项目的构建文件中定义。在 Maven 中,这将在 pom.xml
中,在 gradle 中,这将在 build.gradle
(和 settings.gradle
)
如果您想了解项目的组、工件、版本(又名 GAV,又名 maven 坐标),您通常会转到项目的主页。
您还可以使用 maven central advanced search 到 "fuzzy" 搜索,例如通过 artifactId 或 jar 中的类名。如果您使用的是内部存储库,您可能 "fuzzy" 还可以通过 Web 界面进行搜索