【问题标题】:Intellij navigate through multiple maven projectsIntellij 浏览多个 Maven 项目
【发布时间】:2013-05-16 14:08:38
【问题描述】:

所以我有一个看起来像这样的文件结构:

.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,它们是 maven 依赖项,因此当我需要在 app1、2 或 3 中编辑某些内容时,这是一个痛苦的过程。如果我使用“跳转到声明”功能,它只会显示锁定的 jar。是否可以设置它,以便当我“跳转到声明”时,它会将我带到我可以进行编辑的实际代码?

【问题讨论】:

    标签: maven intellij-idea


    【解决方案1】:

    如果您有maven reactor build,它会为您完成所有模块设置。现在你只有对 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...

    然后你可以选择所有你想要作为依赖的模块。

    Ok,然后再次按Ok

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

    如果app1app2app3 彼此之间也存在依赖关系,那么您必须对它们执行相同的操作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-05
      相关资源
      最近更新 更多