比如common项目依赖了lombok 但是app为什么无法依赖到lombok呢?
时间: 2023-07-04 16:18:27 浏览: 232
如果common项目依赖了lombok,而app项目无法依赖到lombok,可能是因为你没有在app项目的build.gradle文件中声明lombok作为依赖项。
在app项目的build.gradle文件中添加以下代码,可以将lombok作为依赖项导入到app项目中:
```
dependencies {
implementation 'org.projectlombok:lombok:1.18.20'
}
```
注意,这里的版本号可能需要根据你使用的lombok版本进行修改。如果你仍然无法依赖到lombok,可以检查一下是否需要在项目中添加lombok插件。
另外,如果你使用的是Android Studio,你需要在设置中启用lombok插件才能正常使用lombok。可以在File > Settings > Plugins中搜索并安装"Lombok Plugin"插件。
相关问题
如果common项目写了implementation 'org.projectlombok:lombok:1.18.20' app项目的build.gradle也要依赖lombok吗?
是的,如果common项目中使用了lombok,那么在app项目中也需要声明对lombok的依赖。
当你在common项目中使用lombok注解时,编译器会生成一些代码来实现注解的功能。这些生成的代码只存在于common项目中,而不是在编译后的jar包中。因此,在app项目中使用common项目时,需要将common项目中使用的lombok库一起打包并导入到app项目中。
因此,在app项目的build.gradle文件中,也需要声明对lombok的依赖,以确保在使用common项目时,lombok库也能被正确地导入和使用。
sts注入依赖lombok
Lombok是一个流行的Java库,它通过注解简化了Java的编码过程,特别是减少了样板代码(如getter、setter、构造函数等)。Sts(Spring Tool Suite)是一种集成开发环境(IDE),主要用于Spring框架的项目开发。
当使用Lombok和STS一起工作时,Lombok的注解如`@Autowired`、`@Value`等可以方便地进行依赖注入(Dependency Injection)。例如,如果你有一个类需要注入一个Bean:
```java
import org.springframework.beans.factory.annotation.Autowired;
import lombok.Getter;
@Getter // Lombok自动生成getter方法
public class MyClass {
private MyService myService; // 需要注入的服务
@Autowired // 使用Lombok的@Autowired注解,STS会帮助处理自动装配
public MyClass(MyService myService) {
this.myService = myService;
}
}
```
在STS中,当你启用Lombok支持,并且配置了Spring插件,那么它会在编译阶段直接处理这些注解,无需手动编写额外的代码来进行依赖注入。这就是sts注入依赖lombok的工作原理。
阅读全文