gpt4 book ai didi

java - Intellij 无法找到依赖模块中所做的更改

转载 作者:行者123 更新时间:2023-12-05 07:29:26 25 4
gpt4 key购买 nike

我有一个 Maven 项目,它依赖于其他 Maven 项目。我已经设法通过“项目结构”将这些依赖模块导入到我的项目中。能够 mvn clean install 并能够运行该程序。同样在我的主项目中,如果我要“命令单击”位于依赖模块中的文件,它将很好地转到该 .java 文件(而不是前往 .class 文件)。

但是在依赖项目下所做的更改并没有在我运行程序时反射(reflect)出来。重新构建或新的 mvn install 没有任何区别。

例如,我曾尝试在依赖模块中的类中添加一个新的变量声明。当我运行程序并通过调试检查时,这个变量甚至不存在。

类似地在依赖模块内的类中创建了一个完整的方法。那个方法也不存在。当我将鼠标悬停在我放置在此方法下的断点上时,我收到以下消息:

No executable code found at line 112 in class com.name....

可能有帮助的信息。

该项目运行良好,无需添加这些依赖项,因为它们作为该项目的一部分以 jar 文件的形式存在。由于我需要对这些依赖项进行更改,因此我“通过项目结构”删除了那些 jar 文件,而是“通过项目结构”将这些依赖项作为模块导入。

如上所述,这是可行的。我能够构建并启动该应用程序。只是在我做的时候看不到变化。

另一个问题浮出水面,但我还是不明白。在我更改依赖项之前,有一个参数在我的主项目上不起​​作用(编译失败)。现在它在编译方面工作正常。但是当我运行它时,在调试下我得到了正确的参数值,但在下一步之后,它只是跳转到 InvocationTargetException。在下面的代码更改中添加了简短的片段。

// Under Main Project
someMethod(Doable do){
// do something
}

DoSomething doSomething = null;
someMethod(doSomething); // compilation error unless I implement Doable

// Under dependency
// implement Doable is the change which compiles now
class DoSomething implements Doable{
//implement something
}

添加了项目结构以供引用。请指教。谢谢你。

MyMainProject
mvn_structure
pom.xml
MainDependency
SubDependency1
mvn_structure
pom.xml
SubDependency2
mvn_structure
pom.xml
SubDependency3
mvn_structure
pom.xml
pom.xml

最佳答案

您的项目依赖于 Maven 存储库中的依赖 jar,而不是依赖源代码(其他项目)。因此,为了让您在其他项目中的更改可用于您的项目,您需要首先构建其他项目,以便更新它们在 repo 中的 jars。只有这样,您的项目才能使用这些更改。

关于java - Intellij 无法找到依赖模块中所做的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52771073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com