Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在包-IntelliJ中时,无法从其他Maven模块中找到类_Java_Maven_Intellij Idea_Dependencies - Fatal编程技术网

Java Can';在包-IntelliJ中时,无法从其他Maven模块中找到类

Java Can';在包-IntelliJ中时,无法从其他Maven模块中找到类,java,maven,intellij-idea,dependencies,Java,Maven,Intellij Idea,Dependencies,我现在正在努力解决这个问题,我在IntelliJ中有一个maven项目,有两个maven模块 当我在第二个模块的java文件夹(sources root)中时,当我创建一个类时,我可以引用我的其他项目的类。但是当我在java文件夹中的包中时,我就不能再使用其他项目的这些类了 提前感谢, 链接到图像: 来自父项目的My POM.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apa

我现在正在努力解决这个问题,我在IntelliJ中有一个maven项目,有两个maven模块

当我在第二个模块的java文件夹(sources root)中时,当我创建一个类时,我可以引用我的其他项目的类。但是当我在java文件夹中的包中时,我就不能再使用其他项目的这些类了

提前感谢,

链接到图像:

来自父项目的My POM.xml:

<?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>
<packaging>pom</packaging>

<groupId>com.ucll.da</groupId>
<artifactId>project2</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>

<modules>
    <module>domain</module>
    <module>webApp</module>
    <module>rest</module>
</modules>

</project>

4.0.0
聚甲醛
com.ucll.da
项目2
聚甲醛
1.0-快照
领域
网络应用
休息
域和rest中的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>project2</artifactId>
    <groupId>com.ucll.da</groupId>
    <version>1.0-SNAPSHOT</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>domain</artifactId>

</project>

项目2
com.ucll.da
1.0-快照
4.0.0
罐子
领域

我找到了我的解决方案,但我真的不知道为什么它现在能工作


第一个Maven模块(域)中的java文件不在包中,而在MapJava中。当我在这个Java映射中创建一个新包,并将所有Java文件移到那里时,我可以在另一个Maven模块中使用这些类。

图中显示了一个模块中不同包中的两个类。你是说包而不是模块是偶然的吗?不,我有另一个maven模块(称为“域”),它有ObservationService类。在我的“休息”模块中,我只能在java文件夹中的类中使用ObservationService,而不能在java文件夹下的包中使用。我建议您使用pom.xml中的依赖项的相关片段和包结构更新您的问题。请粘贴问题中的代码,而不是先链接图像以及错误日志和相关文件当您将类作为
/src/main/java
的子类放置时,它们将成为未命名包的一部分。不鼓励使用未命名的包,请参阅此问题。无法从命名包导入未命名包中的类。感谢您的解释:)