gpt4 book ai didi

java - Maven - 您是否需要 main 才能将项目用作库?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:51 24 4
gpt4 key购买 nike

我正在开发一个项目,其中有一个“核心”和一个“API”,它们是两个独立的 Maven 项目。

目前,我正在使用 Eclipse 将 API 导出到一个 jar 中,并像这样在 maven 中链接它:

<dependency>
<groupId>com.project.my</groupId>
<artifactId>project-api</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/dependencies/project-api.jar</systemPath>
</dependency>

它工作正常,我可以使用我的 API 中定义的类。

但现在我想要一个更好的工作流程,我正在尝试在我的本地 Maven 存储库中安装 API,然后在核心中正常链接它:

<dependency>
<groupId>com.project.my</groupId>
<artifactId>project-api</artifactId>
<version>1.0.0</version>
</dependency>

但是当我运行 maven clean install 时,出现以下错误:

Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.3.3.RELEASE:repackage failed: Unable to find main class

而且我的 API 中确实没有 main,因为我不需要。

请注意,我对这两个项目都使用了 spring-boot,因为我正在使用它们的一些依赖项并且让它们管理版本更容易(我只使用 API 中的实用程序类) .

所以我想知道我是否必须有一个 main,即使我从来没有使用过它,或者如果我尝试在本地存储库中安装我的 API 时做错了什么?

谢谢:)

最佳答案

感谢Thilo的明智建议,我设法让它发挥作用。

所以我所做的是从我的 API 项目中删除所有未使用的 spring-boot 引用,只保留我需要的 spring 依赖项,然后我能够正确运行 mvn clean install

这是我摆脱掉的东西:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath/>
</parent>

我不得不将版本添加到之前由 spring-boot 管理的一些依赖项中,但它现在工作正常。

关于java - Maven - 您是否需要 main 才能将项目用作库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36909268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com