Intellij 浏览多个 Maven 项目

2024-01-17

所以我有一个如下所示的文件结构:

.git
.project
.classpath
app1
    pom.xml
    .classpath
    .project
    src
app2
    pom.xml
    .classpath
    .project
    src
app3
    pom.xml
    .classpath
    .project
    src
TheAppIWorkOn
    pom.xml
    .classpath
    .project
    src

TheAppIWorkOn 使用 app1、2 和 3 中的 jar,这些 jar 是 Maven 依赖项,因此当我需要编辑 app1、2 或 3 中的某些内容时,这是一个痛苦的过程。如果我使用“跳转到声明”功能,它只会向我显示锁定的罐子。是否可以进行设置,以便当我“跳转到声明”时,它会将我带到可以编辑的实际代码?


如果你有一个Maven 反应堆构建 http://maven.apache.org/guides/mini/guide-multiple-modules.html它将为您完成所有模块设置。现在您只有 jar 文件的依赖关系,IntelliJ 无法知道您有要依赖的模块。但是您可以通过指出模块依赖关系来帮助 IntelliJ,之后您将能够在项目中的所有类之间导航。

最好的方法是创建一个pom.xml在项目的根目录中。该 pom 将不同的模块放在一起并定义构建顺序。当您想要第一次打开项目时,只需将 IntelliJ 指向此 pom 文件,所有依赖项都将得到解析和设置,因此不同模块中的类之间的导航变得轻而易举。

根目录的示例 pom 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.stackoverflow</groupId>
    <artifactId>Q16589702</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <name>${project.artifactId}-${project.version}</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <modules>
        <module>app1</module>
        <module>app2</module>
        <module>app3</module>
        <module>TheAppIWorkOn</module>
    </modules>

</project>

如果由于某种原因您无法执行此操作,那么您必须通知 IntelliJ 有关模块依赖项的信息。您可以通过打开Project Structure.

然后选择模块TheAppIWorkOn然后按底部的加号并选择Module Dependency....

在那里您可以选择您想要作为依赖项的所有模块。

Press Ok and then Ok again.

现在您将能够在项目中的不同类之间导航。

If app1, app2 and app3彼此之间也存在依赖关系,那么您必须为它们做同样的事情。

但最简单的方法肯定是在根项目目录中有一个 pom 文件,其中包含所有模块间依赖项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Intellij 浏览多个 Maven 项目 的相关文章

随机推荐