为啥 Intellij IDEA 说已使用的属性未使用?
Posted
技术标签:
【中文标题】为啥 Intellij IDEA 说已使用的属性未使用?【英文标题】:Why does Intellij IDEA say that used properties are unused?为什么 Intellij IDEA 说已使用的属性未使用? 【发布时间】:2020-01-14 19:20:48 【问题描述】:我的 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
【问题讨论】:
您还需要更好的答案吗?我有什么可以改进的吗? @CrazyCoder - 请再给我一些时间。我会设法解决这个问题并回来。 【参考方案1】:问题不可重现:
如果您有Minimal, Complete, and Verifiable example,请分享它,以便我们调查为什么它会在您的特定项目中发生。
这是正常工作的示例:unused-properties.zip。
为了从描述中匹配您的多模块 Maven 项目,我创建了另一个示例项目来说明配置和正常工作的检查。
在此处获取示例项目:unused-multimodule-maven.zip。
这个项目在根目录中有一个聚合pom.xml
和 2 个模块:app 和 properties 其中 app 依赖于 属性。
工作截图证明:
注意app module depends on the properties module.这个依赖是 achieved 通过 app 模块的以下 pom.xml
配置。
<dependencies>
<dependency>
<groupId>com.jetbrains.support</groupId>
<artifactId>properties</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
【讨论】:
不幸的是,我在专有代码中看到了这一点,因此我无法共享代码/视频/屏幕截图。我正在尝试将代码库的结构复制到我可以分享的示例中。同时,我有什么调试技巧可以弄清楚为什么使用的属性显示为未使用? 我用项目的结构更新了问题。希望这会有所帮助。不幸的是,我不知道如何用多个 pom 复制该结构。我只记得这样的结构叫做多模块项目。 @BoratSagdiyev 项目 3 是否依赖项目 2? 如何检查? @BoratSagdiyev 在module dependencies.以上是关于为啥 Intellij IDEA 说已使用的属性未使用?的主要内容,如果未能解决你的问题,请参考以下文章
如何用intellij idea 12 写一个helloworld,为啥新建不出来类啥的呢
为啥intellij idea安装eclipse code formatter插件装不上
为啥 Intellij Idea 建议在使用循环将数组转换为 Set 时创建中间列表?