2016-12-27 5 views
0

私は今この問題に苦しんでいます。私は2つのモジュールを持つIntelliJにmavenプロジェクトを持っています。パッケージ内の他のMavenモジュールからクラスを見つけることができません - IntelliJ

私が2番目のモジュールのjavaフォルダ(ソースルート)にいるとき、クラスを作成すると、他のプロジェクトのクラスを参照することができます。しかし、私はjavaフォルダ内のパッケージの中にいるとき、私はもはや他のプロジェクトのクラスを使用することができなくなりました。事前に

おかげで、画像へ

リンク: http://imgur.com/a/6wyYM

親プロジェクトから私の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> 

ドメインと残りの部分から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> 
+0

写真は、モジュール内の異なるパッケージに2つのクラスを示しています。あなたは偶然にモジュールの代わりにパッケージを意味しますか? – swiedsw

+0

いいえ私はObservationServiceクラスを持つ他のmavenモジュール( 'domain'と呼ばれる)を持っています。私の 'rest'モジュールでは、ObservationServiceはjavaフォルダ内のクラスでのみ使用でき、javaフォルダ内のパッケージでは使用できません。 – denelias

+0

私はあなたの質問を、pom.xmlとパッケージ構造からの依存関係の適切なスニペットで更新することをお勧めします。 – swiedsw

答えて

0

私のゾルが見つかりましたutionしかし私は本当になぜ今働くのか分からない。

最初のMavenモジュール(ドメイン)内の私のJavaファイルは、パッケージ内ではなく、地図Java内にあります。このJavaマップ内に新しいパッケージを作成し、そこにすべてのJavaファイルを移動すると、これらのクラスを他のMavenモジュール内で使用できます。

+0

'/ src/main/java'の子クラスとしてクラスを配置すると、それらは無名パッケージの一部になります。名前のないパッケージの使用は推奨されません。この質問を参照してください。http://stackoverflow.com/q/7849421/6850448名前のないパッケージのクラスは、名前付きパッケージからインポートすることはできません。 – swiedsw

+0

この説明をありがとう:) – denelias

関連する問題