Could not find modules from module -info.java

I have 2 different projects in the same folder: com.jdojo.address

and com.jdojo.person

. The first has a simple pojo class Address

and module-info.java

by default:

module com.jdojo.address {
    exports com.jdojo.address;
}

      

There are no mistakes here.

In a project com.jdojo.person

, I have a class Person

that uses an attribute Address

from the previous one. module-info.java

:

module com.jdojo.person {
    requires com.jdojo.address;
    exports com.jdojo.person;
}

      

I have an error on the line requires

:

module not found: com.jdojo.address

I have this problem with both NetBeans IDE Dev (Build 201708030001) and IntelliJ IDEA 2017.2.1 .

β”œβ”€β”€β”€com.jdojo.address
β”‚   β”œβ”€β”€β”€.idea
β”‚   β”‚   └───inspectionProfiles
β”‚   β”œβ”€β”€β”€nbproject
β”‚   β”‚   └───private
β”‚   └───src
β”‚       └───com
β”‚           └───jdojo
β”‚               └───address
β”œβ”€β”€β”€com.jdojo.intro
β”‚   β”œβ”€β”€β”€.idea
β”‚   β”‚   β”œβ”€β”€β”€inspectionProfiles
β”‚   β”‚   └───libraries
β”‚   β”œβ”€β”€β”€build
β”‚   β”‚   β”œβ”€β”€β”€classes
β”‚   β”‚   β”‚   └───com
β”‚   β”‚   β”‚       └───jdojo
β”‚   β”‚   β”‚           β”œβ”€β”€β”€address
β”‚   β”‚   β”‚           β”œβ”€β”€β”€intro
β”‚   β”‚   β”‚           └───person
β”‚   β”‚   β”œβ”€β”€β”€empty
β”‚   β”‚   └───generated-sources
β”‚   β”‚       └───ap-source-output
β”‚   β”œβ”€β”€β”€dist
β”‚   β”œβ”€β”€β”€nbproject
β”‚   β”‚   └───private
β”‚   β”œβ”€β”€β”€src
β”‚   β”‚   └───com
β”‚   β”‚       └───jdojo
β”‚   β”‚           └───intro
β”‚   └───test
β”œβ”€β”€β”€com.jdojo.person
β”‚   β”œβ”€β”€β”€.idea
β”‚   β”‚   └───inspectionProfiles
β”‚   β”œβ”€β”€β”€nbproject
β”‚   β”‚   └───private
β”‚   β”œβ”€β”€β”€src
β”‚   β”‚   └───com
β”‚   β”‚       └───jdojo
β”‚   β”‚           └───person
β”‚   └───test
β”œβ”€β”€β”€lib
β”œβ”€β”€β”€mods
β”‚   └───com.jdojo.intro
β”‚       └───com
β”‚           └───jdojo
β”‚               └───intro
└───src
    └───com.jdojo.intro
        └───com
            └───jdojo
                └───intro

      

These are the paths to module-info and java classes

C:\Java9Revealed\com.jdojo.address\src\module-info.java
C:\Java9Revealed\com.jdojo.address\src\com\jdojo\address\Address.java

C:\Java9Revealed\com.jdojo.person\src\module-info.java
C:\Java9Revealed\com.jdojo.person\src\com\jdojo\person\Person.java

      

+3


source to share


1 answer


Per quick start guide , conditionally put the source code in a folder named after the module. In this case, the folder structure should be:

com.jdojo.address/src/com.jdojo.address/module-info.java
com.jdojo.address/src/com.jdojo.address/com/jdojo/address/Address.java

com.jdojo.person/src/com.jdojo.person/module-info.java
com.jdojo.person/src/com.jdojo.person/com/jdojo/person/Person.java

      



Covers an experiment using command line tools, regardless of any IDE. I illustrated this case here .

+4


source







All Articles