intellij-idea - 为什么 Intellij IDEA 说已使用的属性未使用?
问题描述
我的 Java Maven 项目中有一个属性文件。我有一个类可以加载这些属性并将它们存储为常量。
//Constants.java file has this code.
Properties properties = new Properties(blah...);
String username = properties.getProperty("my.username");
System.out.println(username);
尽管使用了 my.username 属性和用户名变量,Intellij IDEA 说它没有被使用。为什么 ?我试图使缓存无效并重新启动 IDE,但它没有改变任何东西。
因此,很难找出哪些属性实际上未使用并删除它们。
这是项目结构:
PROJECT1
-> PROJECT2
--> src > main > resources > folder > my.properties
--> pom.xml
-> PROJECT3
--> src > main > java > packagea.b.c > packaged > packagee > Constants.java
--> pom.xml
pom.xml
解决方案
该问题不可重现:
如果您有最小、完整和可验证的示例,请分享它,以便我们调查它为什么会在您的特定项目中发生。
这是正常工作的示例:unused-properties.zip。
为了从描述中匹配您的多模块 Maven 项目,我创建了另一个示例项目来说明配置和正常工作的检查。
在此处获取示例项目:used-multimodule-maven.zip。
pom.xml
该项目在根目录中有一个聚合和 2 个模块: app和properties其中app依赖于properties。
工作截图证明:
请注意,应用模块依赖于属性模块。这种依赖关系是通过以下应用程序模块的pom.xml
配置来实现的。
<dependencies>
<dependency>
<groupId>com.jetbrains.support</groupId>
<artifactId>properties</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
推荐阅读
- javascript - 从猫鼬模型传递嵌套的 JSON 数据不起作用
- pyspark - 区分数据框列中的空值和空白值(pyspark)
- javascript - 初学者函数问题 JavaScript
- java - 如何将“输入类型周”的值转换为日期或数字
- ruby - 迭代一个数组并构建一个具有递增值的新数组
- angular - 父组件不可见
- r - 根据条件计算经过时间
- c++ - VC++ 中与 std::void_t 的意外模板匹配
- inno-setup - Inno Setup:在安装开始之前下载 setup .bin 切片文件
- javascript - ASP.NET Core SignalR 中的客户端生命周期事件