Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Kotlin multiplatform 在kotlin多平台项目上找不到通用jar_Kotlin Multiplatform - Fatal编程技术网

Kotlin multiplatform 在kotlin多平台项目上找不到通用jar

Kotlin multiplatform 在kotlin多平台项目上找不到通用jar,kotlin-multiplatform,Kotlin Multiplatform,我是由自己的多平台项目创建的,我有jvm和ios的实现。一旦我构建了这个项目,它就生成了5个JAR Name-jvm.jar Name-jvm-sources.jar Name-ios-sources.jar Name-metadata.jar Name-metadata-sources.jar 其中Name是我的项目的名称。但是我无法获取名称common.jar。因此,当我将其发布到bintray时,我无法通过pom.xml找到Name common.jar。 我对多平台构建的理解有任何错

我是由自己的多平台项目创建的,我有
jvm
ios
的实现。一旦我构建了这个项目,它就生成了5个JAR

  • Name-jvm.jar
  • Name-jvm-sources.jar
  • Name-ios-sources.jar
  • Name-metadata.jar
  • Name-metadata-sources.jar
其中
Name
是我的项目的名称。但是我无法获取
名称common.jar
。因此,当我将其发布到bintray时,我无法通过pom.xml找到
Name common.jar

我对多平台构建的理解有任何错误,kotlin多平台发布模块中的默认工件名称如下

如果您的项目名为
name
,则每个目标都有以下出版物


  • 公共->
    名称元数据.jar
  • JVM->
    名称JVM.jar
  • JS->
    name JS.jar
    (内有name.JS)
  • Android->
    name Android.jar
    (用于发布构建类型)或/和
    name Android debug.jar
    (用于调试)
  • 我不是kotlin/本地用户,但我相信ios会有类似的功能

  • ios->
    name ios.klib
    e、 t.c
  • 因此,关于您的问题,您可以通过
    name metadata.jar
    访问您的模块,或者使用gradle,
    com.group.name:name metadata:${version}


    如果您要在另一个多平台项目中使用它,您可以一直键入项目的名称(即
    com.group.name:name:${version}
    )。Gradle元数据将其解析为各自的目标

    KMP中的默认发布称为
    元数据
    ,而不是
    通用
    。所以你应该寻找
    Name metadata.jar
    ,你已经指出你已经拥有了它!!谢谢我很快就明白了。你能再帮我一个疑问吗,我怎么能把所有的ios jar(不同的)平台组合成一个本机jar。ios只有源jar,因为它的二进制文件是以klib格式发布的。老实说,我还没有和科特林本地人打过那么多交道。所以,我不能给你更多的建议,关于吃一些ios脂肪罐,谢谢!这太棒了,如果你能把这个作为答案,我会接受的@andylamax,有什么帮助吗:)