用于下载 jar 文件的 Maven 依赖项
Maven dependency for downloading a jar file
我希望有人能给我一些提示,因为 google 对我帮助不大。
我想从 Artifactory 下载一个 jar,然后 运行 从我的 java 代码下载它,但是我在这个简单的步骤中遇到了一些困难。
this is the maven dependency that I cannot make work
有了这种依赖性,Maven 就知道了我的 java 文件的 groupId、artifactId 和版本。至于Scope字段,我看到可以是compile,provided,运行time,system,test。
那个 jar 文件代表另一个模块,它是一个应用程序,我想从代码中处理它,在构建项目时我不希望该文件有任何特定状态,我只想下载它,并在我需要的时候使用它,但它必须在当前项目中下载。
现在,有了那个 maven 依赖,当我构建项目时,jar 文件将从 Artifactory 下载,但最后我得到一个错误:
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'userManagerImpl' for bean class [com.cgm.user.impl.UserManagerImpl] 与现有的、不兼容的冲突同名的 bean 定义 class [com.cgm.authentication.impl.UserManagerImpl]
所以,Spring不知道该选什么;我认为一种解决方案是重命名项目中的所有 bean,但我负担不起。
有什么建议吗?
非常感谢!
根据您的描述,问题是因为您有多个相同类型的bean。
您可以将 @Qualifier 与 @Autowired 一起使用。事实上 spring 会明确地询问你 select 如果找到不明确的 bean 类型,在这种情况下你应该提供限定符
对于以下情况的示例,有必要提供限定符
@Component
@Qualifier("staff")
public Staff implements Person {}
@Component
@Qualifier("employee")
public Manager implements Person {}
@Component
public Payroll {
private Person person;
@Autowired
public Payroll(@Qualifier("employee") Person person){
this.person = person;
}
}
另一种选择是在 class 定义中使用 @Qualifier 注释(如果它是您项目的一部分)。
我希望有人能给我一些提示,因为 google 对我帮助不大。 我想从 Artifactory 下载一个 jar,然后 运行 从我的 java 代码下载它,但是我在这个简单的步骤中遇到了一些困难。
this is the maven dependency that I cannot make work
有了这种依赖性,Maven 就知道了我的 java 文件的 groupId、artifactId 和版本。至于Scope字段,我看到可以是compile,provided,运行time,system,test。
那个 jar 文件代表另一个模块,它是一个应用程序,我想从代码中处理它,在构建项目时我不希望该文件有任何特定状态,我只想下载它,并在我需要的时候使用它,但它必须在当前项目中下载。 现在,有了那个 maven 依赖,当我构建项目时,jar 文件将从 Artifactory 下载,但最后我得到一个错误:
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'userManagerImpl' for bean class [com.cgm.user.impl.UserManagerImpl] 与现有的、不兼容的冲突同名的 bean 定义 class [com.cgm.authentication.impl.UserManagerImpl]
所以,Spring不知道该选什么;我认为一种解决方案是重命名项目中的所有 bean,但我负担不起。
有什么建议吗?
非常感谢!
根据您的描述,问题是因为您有多个相同类型的bean。
您可以将 @Qualifier 与 @Autowired 一起使用。事实上 spring 会明确地询问你 select 如果找到不明确的 bean 类型,在这种情况下你应该提供限定符
对于以下情况的示例,有必要提供限定符
@Component
@Qualifier("staff")
public Staff implements Person {}
@Component
@Qualifier("employee")
public Manager implements Person {}
@Component
public Payroll {
private Person person;
@Autowired
public Payroll(@Qualifier("employee") Person person){
this.person = person;
}
}
另一种选择是在 class 定义中使用 @Qualifier 注释(如果它是您项目的一部分)。