Errors when building a simple project

I am getting many errors when I attempt to build a very simple app with JME version 3.2.1-stable on Java 10.0.1. The errors are all nearly identical just referencing different modules and packages:

Error:java: module jme3.core reads package com.jme3.app from both jme3.desktop and jme3.core

As I understand it, both jme3.core and jme3.desktop are exporting the com.jme3.app package. From what I have read is that this is a problem with the way the JARs are being created in that each package should only be a child of one JAR. I understand that this was not a problem with Java 8 or less, but with Java 8 effectively going away in a few months, is there a way to resolve this?

I believe that you can resolve this by ensuring that all jars are grouped in the default module.

I was not able to figure out how to get jMonkey to be part of the default module without also getting rid of my module-info. But I did find another way, probably clumsy, but it works.

By adding the following to my build.gradle I was able to get a simple jMonkey application started by adding a requires com.jme3 to my module-info.java.

configurations {
	jme3
}

ext {
	jmeVersion = "3.2.1-stable"
}

task buildJme3(type: Jar)  {
	archiveName = "jme3-${jmeVersion}.jar"
	manifest {
		attributes 'Automatic-Module-Name': 'com.jme3'
	}
	from {
		configurations.jme3.collect {
			it.isDirectory() ? it : zipTree(it)
		}
	}
}

dependencies {
	jme3 "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"
	compile fileTree(tasks.buildJme3.outputs.getFiles().singleFile) {
		builtBy tasks.buildJme3
	}
}
1 Like