我有一个包含两个子模块的父模块(module1
和module2
)
module2
与module1
在module2
中,我引用了module1
当我尝试跳转到此类的定义时,IntelliJ会在我的maven存储库中打开.class文件。我希望它跳转到module1
中的java类。如何让IntelliJ跳转此类文件?
我正在运行IntelliJ IDEA Ultimate 14.0.1
parent
pom:
<?xml version="1.0" encoding="UTF-8"?>
<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>test</groupId>
<artifactId>test</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>module2</module>
<module>module1</module>
</modules>
</project>
module1
pom:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>test</artifactId>
<groupId>test</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>module1</artifactId>
</project>
module2
pom:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>test</artifactId>
<groupId>test</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>module2</artifactId>
<dependencies>
<dependency>
<groupId>test</groupId>
<artifactId>module1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
答案 0 :(得分:0)
另一个答案over here at stackoverflow帮助了我。如果它们尚未到位,您基本上必须添加模块依赖项。
答案 1 :(得分:-1)
您有两种选择:
#p>方式#1:使用来源构建module1
。这样可以确保您使用的java类始终具有一致的源代码。
要使用源启用构建,请将此添加到maven插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
方式#2:
通过module1
&gt;将您的module2
添加到Project structure
Modules
&gt; Dependencies
&gt; +
&gt; 3. Module dependency
嗯,它不像#1那样一致,但如果你使用maven版本,设置速度要快得多。如果您正在使用intellij idea build,则可以将此依赖项标记为export
,以将其包含在module1
输出目录中。