IntelliJ / Gradle - composite build project - how to import from different module?

Hester Lyons :

I'm new to Java and am currently trying to build a cucumber / selenium project in IntelliJ that contains two modules: A library project containing page definitions, and a test project that contains the cucumber features and step definitions that talk to those page definitions. The idea is that the page definitions are a shared resource, and the tests are specific to different projects / groups. Both modules are at the same level underneath the parent project. The build is using Gradle, and the settings.gradle file for the parent looks as follows:

rootProject.name = 'composite-builds'
includeBuild 'libraryproject'
includeBuild 'testproject'

Using Gradle includeBuild on the parent project works fine and the whole project imports. However I am having no luck using the library project in my import statements in the test project. It consistently returns me these kinds of error: java: package libraryproject.pageFactory.examplePages does not exist and is clearly not seeing the library module.

What do I need to do / add in order for the test project to recognise the library project? I did try to also add the includeBuild statement in the settings.gradle for the test project but this made no difference.

The library can be found here

Update: the real reason that I cannot see the modules from the library project is that they were held in the test folder, not main.

Mosch :

Go to your build.gradle file

Instead of includeBuild use dependencies{compile{project(':libraryproject')}}

Inside the Root Project of libraryproject which is in your case the composite-builds. Change includeBuild to include in the settings.gradle

rootProject.name = 'composite-builds'
include ':libraryproject'
include ':testproject'

If it is in the same root:

dependencies {
    compile(
        project(':libraryproject')
    )
}

Subfolder:

dependencies {
    compile(
        project(':myFolder1:myFolder2:libraryproject')
    )
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=131916&siteId=1