我正在开发一个项目,我有一个“核心”和一个“API”,它们是两个独立的maven项目。
目前,我正在使用Eclipse将jar导出到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中的实用程序类)。
所以我想知道我是否必须有一个主程序,即使我没有使用过它,或者我在尝试在本地存储库中安装API时做错了什么?
谢谢:)
答案 0 :(得分:3)
感谢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管理的一些依赖项中,但它现在正常工作。