首页 > 解决方案 > 将子模块发布到本地 maven

问题描述

/Users/<acct>/.m2/repository/net/flytre/flytre_lib我的项目中存储在我的本地 Maven 存储库中。

我正在尝试将它的子模块导入为另一个 gradle 项目的依赖项。

| root
   | flytre-lib-base (module)
      | 1.0.0
          | flytre-lib-base-1.0.0-sources.jar
          | flytre-lib-base-1.0.0.jar
          | flytre-lib-base-1.0.0.pom

      | maven-metadata-local.xml

pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.flytre.flytre_lib</groupId>
  <artifactId>flytre-lib-base</artifactId>
  <version>1.0.0</version>
  <dependencies>
    <dependency>
      <groupId>net.fabricmc</groupId>
      <artifactId>fabric-loader</artifactId>
      <version>0.11.3</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

元数据文件:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>net.flytre.flytre_lib</groupId>
  <artifactId>flytre-lib-base</artifactId>
  <versioning>
    <latest>1.0.0</latest>
    <release>1.0.0</release>
    <versions>
      <version>1.0.0</version>
    </versions>
    <lastUpdated>20210805212551</lastUpdated>
  </versioning>
</metadata>

当我将此作为依赖项添加到另一个 gradle 项目时,它会导致一个空的依赖项库仅包含一个清单文件:

implementation 'net.flytre.flytre_lib:flytre-lib-base:1.0.0'

jar 不是空的,并且正确地包含了模块类,并且 mavenLocal() 被添加为存储库。是什么导致模块无法正确导入?

标签: javamavengradle

解决方案


推荐阅读