Package is found in two places

When i try to import; it tells me “The package is accessible from more than one module: jme3.core, jme3.desktop”

It also happenes when i import com.jme3.asset.AssetManager; it tells me “The package com.jme3.asset is accessible from more than one module: jme3.blender, jme3.core”.

What do i have to do to fix this?

Welcome @Firepaw185

Are you using Java’s module system in your project?

When I looked into this I saw that jme has duplicate names for packages in different jars.

Notice that they both are com/jme3/app

It wasn’t possible to pick one over the other as they are both required.

Its not just these though, alot of duplicate package names.

Looking forward to how to fix that as I couldn’t figure it out either.

Edit: I must add, I had a hard time understanding the module system and how to overcome the plethera of errors its spews when converting apps so probably my ignorance of it contributed to my failure.

AFAIK split packages are not supported, so one of them should be renamed (not a good idea I think) or put in unnamed modules.

For backward compatibility reasons, the split packages are allowed in unnamed modules.

1 Like

Right. As this is a command line argument, it would require a significant amount of additional arguments. I know when I tried to do SimEthereal, its was huge, like 100s (error reporting capped out at 100 if I remember correctly but it reported over 500 errors).

Does SimEthereal have split packages? Or were you just saying there were lots of other errors?

To me, these extra protection aspects of the module system are kind of dumb for desktop apps… like osgi before it. Makes me wonder how long before they abandon this idea again.

Other errors from dependencies. Most are from jme but other depends also have problems.

I totally agree with this. I personally find the module system adds more complication and frustration than most will probably be willing to suffer through in the long run.