spring-boot - 在 STS 中,引用其他我自己的简单 maven 项目不起作用,我缺少什么?
问题描述
我有一个非常简单的问题,我有一个只有一个类的 Spring Boot 启动项目,我在另一个 Spring Boot 启动项目中引用它,但出现错误:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.590 s
[INFO] Finished at: 2021-02-13T10:25:21-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project demo1: Compilation failure: Compilation failure:
[ERROR] /Users/kedarmoghe/Documents/workspaces/travel/demo1/src/main/java/com/example1/demo/AddressProcessor.java:[3,24] package com.example.demo does not exist
[ERROR] /Users/kedarmoghe/Documents/workspaces/travel/demo1/src/main/java/com/example1/demo/AddressProcessor.java:[7,9] cannot find symbol
[ERROR] symbol: class Address
[ERROR] location: class com.example1.demo.AddressProcessor
[ERROR] /Users/kedarmoghe/Documents/workspaces/travel/demo1/src/main/java/com/example1/demo/AddressProcessor.java:[7,31] cannot find symbol
我的项目 1 中的 pom.xml 是:
enter code here
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
enter code here
我在 project-2 中的 pom.xml 是:
enter code here
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example1</groupId>
<artifactId>demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo1</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
enter code here
在我的 STS 中我无法编译,我缺少什么步骤?
谢谢。
解决方案
通过 Spring Boot Maven Plugin 打包的项目自然不适合用作依赖项。
您可以按照这些引用中的任何一个来根据需要编辑 project1 的 pom.xml,以部署可以实际用作依赖项的工件 JAR,然后将其导入 project2:
推荐阅读
- android - 为什么即使优化级别为 3,向量分配也需要这么多时间?
- c - 尝试使用 fgetc() 从文件中读取未知字符串长度
- java - 从主类中的另一个类访问arraylist
- swift - 在 SwiftUI 中切换视图的最佳方式是什么?
- internationalization - 你的 react-i18next i18n 关键最佳实践是什么?自然与基于键的目录?
- python - 为什么在函数中使用字符串解包后输出中会出现逗号?
- wpf - 这种类型...不支持更改...来自与 Dispatcher 线程不同的线程 - 尽管使用了 CheckAccess
- workflow - Alfresco,识别工作流程何时启动
- javascript - 单击后设置元素的样式在 React 中不起作用
- angular - 如何使用材料提升指令在选择垫卡上保持悬停状态