我有一个 Maven 依赖项 jar,需要访问 -DmyProperty=foo
。当我启动应用程序时,我的主项目可以访问 myProperty 值。但是,依赖项 jar(也是一个 Maven 项目)中的类无法使用 System.getProperty()
访问这些类。并返回null
值(value)。我的印象是类路径上的每个类都可以访问这些资源。有没有一种好方法可以将这些值传递回依赖项 jar?如果有区别的话,这两个项目都是基于 spring 构建的。
依赖 jar 使用:
import org.springframework.core.env.Environment;
@Autowired
private Environment environment;
public class myClass{
...
public void myFunction() throws Throwable {
System.out.println("System Env: " + environment.getProperty("myProperty"));
}
主项目导入上述项目并创建上述类的新实例并运行 myFunction 但因 environmnt.getProperty()
上的空指针而爆炸。 .
感谢任何帮助。
最佳答案
您可以使用 spring @Autowired 注释,如下所示,但请确保使用 @Component 或类似的注释您的类。
@Autowired
Environment env;
还要确保您的 bean 对于扫描可见,应像这样启用组件扫描
<context:component-scan base-package="<YOUR_PACKAGE>"/>
或
@ComponentScan(basePackages = {"<YOUR_PACKAGE>"} )
关于Java 依赖类无法通过 System.getProperty() 访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61234754/