Maven repositories

you mixe random stuff (repo, version, artifact), without understand/control what you do.

To stop waste time, please create a minimal project that reproduce your issue target (gradle or maven or idea ,…) and share it (github/bitbucket) so community could see the full picture and comment and suggest fix improvement.

PS: You have the same hell of linking with C/C++

EDIT: I made several projects with jme 3.0/3.1 using gradle, and 1 or 2 toy project using maven (and jme).

Thanks for the help, at least I have several different options

  1. Keep trying link the maven build
  2. Try the IDE again but that will probably be more work. I previously used the IDE to convert blender models and then I used eclipse to write the program
  3. Learn gradle

I see that I’m not alone getting the UnsatisfiedlinkError, it would be interesting to solve.

I’m interested to know if you have an example project that uses maven? I tried to find one but I didn’t.

I give up about maven. It is incomprehensible. Now I can build and run the example project with gradle from github, but when I try gradle with my project I get all the gradle errors.

“Unable to open debugger” - what does that have to do with anything?

I try with this gradle file now

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName='spaceworld.SpaceUFO'

repositories {
    jcenter()
}

ext.jmeVersion = "[3.1,)"

project(":assets") {
    apply plugin: "java"

    buildDir = rootProject.file("build/assets")

    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }
}


dependencies {

    compile "org.jmonkeyengine:jme3-core:$jmeVersion"
    compile "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    compile "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"

    runtime project(':assets')
}

task wrapper(type: Wrapper) {
}

task createDirs << {

    def pkg = 'spaceworld'
    def dirs = [
            file("./src/main/java/$pkg"),
            file("./src/main/resources"),
            file("./assets/Interface"),
            file("./assets/MatDefs"),
            file("./assets/Materials"),
            file("./assets/Models"),
            file("./assets/Scenes"),
            file("./assets/Shaders"),
            file("./assets/Sounds"),
            file("./assets/Textures"),
    ]

    dirs.each {
        if( !it.exists() ) {
            println "Creating " + it
            it.mkdirs()
        }
        if( it.listFiles().length == 0 ) {
            def stub = new File(it, 'removeme.txt')
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}

How are you trying to run it?

From the command line try:
gradle run

I tried running it in intellij. Now I try it with gradle run from the command line and I get more errors than the terminal can remember.

 error: cannot find symbol
import com.jme3.asset.BlenderKey;

(It is my project and not the example project.) I also get strange utf-8 errors.

/home/dac/proj/spaceworld/src/main/java/spaceworld/SpaceLevel.java:50: error: unmappable character for encoding UTF8
 * s�tta i aliens som jag har grafiken till men inte lagt in i spelet.

I also get link errors

/home/dac/proj/spaceworld/src/main/java/adventure/Main.java:36: error: package com.jme3.bullet.util does not exist
import com.jme3.bullet.util.CollisionShapeFactory;
                           ^
/home/dac/proj/spaceworld/src/main/java/adventure/Main.java:64: error: cannot find symbol
	private BulletAppState bulletAppState;

Since you load your blender models at runtime then you will need to depend on the blender library.

Seems like maybe your .java files have non-UTF8 characters in them?

Seems like you also need to add the bullet dependencies… just jme3-bullet and jme3-bullet-native I think. (I don’t use bullet so I’m not sure.)

The sample project was a minimal project and so doesn’t include all of the various dependencies that more advanced apps will need.

This is my problem now

gradle run
    :compileJava
    Download https://jcenter.bintray.com/org/jmonkeyengine/jme3-bullet-native/3.1.0-beta1/jme3-bullet-native-3.1.0-beta1.pom
    Download https://jcenter.bintray.com/org/jmonkeyengine/jme3-bullet/3.1.0-beta1/jme3-bullet-3.1.0-beta1.pom
    Download https://jcenter.bintray.com/org/jmonkeyengine/jme3-bullet-native/3.1.0-beta1/jme3-bullet-native-3.1.0-beta1.jar
    Download https://jcenter.bintray.com/org/jmonkeyengine/jme3-bullet/3.1.0-beta1/jme3-bullet-3.1.0-beta1.jar
    /home/dac/proj/spaceworld/src/main/java/adventure/Player.java:6: error: unmappable character for encoding UTF8
     * A Player object enables commands to control a certain person: �you�. This
                                                                     ^
    /home/dac/proj/spaceworld/src/main/java/adventure/Player.java:6: error: unmappable character for encoding UTF8
     * A Player object enables commands to control a certain person: �you�. This
                                                                         ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UFOWorld.java:42: error: unmappable character for encoding UTF8
     * Ufot �r just nu helt still n�r man flyger. Det vore intressant att se det tilta lite och s� n�r man sv�nger. Kanske man skall se det lite snett uppifr�n ocks� plus att det kan rotera, som alla UFOs g�r. :) D� kommer du att f� lite mer liv i det. Speciellt om du har n�gra f�rgade prickar p� det - som flygplanslanternor.
            ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UFOWorld.java:42: error: unmappable character for encoding UTF8
     * Ufot �r just nu helt still n�r man flyger. Det vore intressant att se det tilta lite och s� n�r man sv�nger. Kanske man skall se det lite snett uppifr�n ocks� plus att det kan rotera, som alla UFOs g�r. :) D� kommer du att f� lite mer liv i det. Speciellt om du har n�gra f�rgade prickar p� det - som flygplanslanternor.
                                   ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UFOWorld.java:42: error: unmappable character for encoding UTF8
     * Ufot �r just nu helt still n�r man flyger. Det vore intressant att se det tilta lite och s� n�r man sv�nger. Kanske man skall se det lite snett uppifr�n ocks� plus att det kan rotera, som alla UFOs g�r. :) D� kommer du att f� lite mer liv i det. Speciellt om du har n�gra f�rgade prickar p� det - som flygplanslanternor.

                                      ^
    /home/dac/proj/spaceworld/src/main/java/adventure/TestQ3.java:20: error: package com.jme3.scene.plugins.ogre does not exist
    import com.jme3.scene.plugins.ogre.OgreMeshKey;
                                      ^
    /home/dac/proj/spaceworld/src/main/java/adventure/NewQ3World.java:38: error: package com.jme3.scene.plugins.ogre does not exist
    import com.jme3.scene.plugins.ogre.OgreMeshKey;
                                      ^
    /home/dac/proj/spaceworld/src/main/java/adventure/Q3World.java:36: error: package com.jme3.scene.plugins.ogre does not exist
    import com.jme3.scene.plugins.ogre.OgreMeshKey;
                                      ^
    /home/dac/proj/spaceworld/src/main/java/adventure/PyramidLevel.java:41: error: package com.jme3.scene.plugins.ogre does not exist
    import com.jme3.scene.plugins.ogre.OgreMeshKey;
                                      ^
    /home/dac/proj/spaceworld/src/main/java/jme3tools/navmesh/util/NavMeshGenerator.java:8: error: package org.critterai.nmgen does not exist
    import org.critterai.nmgen.NavmeshGenerator;
                              ^
    /home/dac/proj/spaceworld/src/main/java/jme3tools/navmesh/util/NavMeshGenerator.java:9: error: package org.critterai.nmgen does not exist
    import org.critterai.nmgen.TriangleMesh;
                              ^
    /home/dac/proj/spaceworld/src/main/java/jme3tools/navmesh/util/NavMeshGenerator.java:15: error: cannot find symbol
        private NavmeshGenerator nmgen;
                ^
      symbol:   class NavmeshGenerator
      location: class NavMeshGenerator
    /home/dac/proj/spaceworld/src/main/java/jme3tools/navmesh/util/NavMeshGenerator.java:238: error: cannot find symbol
        public NavmeshGenerator getNmgen() {
               ^
      symbol:   class NavmeshGenerator
      location: class NavMeshGenerator
    /home/dac/proj/spaceworld/src/main/java/jme3tools/navmesh/util/NavMeshGenerator.java:242: error: cannot find symbol
        public void setNmgen(NavmeshGenerator nmgen) {
                             ^
      symbol:   class NavmeshGenerator
      location: class NavMeshGenerator
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:3: error: package com.bulletphysics.collision.broadphase does not exist
    import com.bulletphysics.collision.broadphase.BroadphaseNativeType;
                                                 ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:4: error: package com.bulletphysics.collision.shapes does not exist
    import com.bulletphysics.collision.shapes.ConcaveShape;
                                             ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:5: error: package com.bulletphysics.collision.shapes does not exist
    import com.bulletphysics.collision.shapes.TriangleCallback;
                                             ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:6: error: package com.bulletphysics.linearmath does not exist
    import com.bulletphysics.linearmath.Transform;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:9: error: cannot find symbol
    public class PlanetShape extends ConcaveShape {
                                     ^
      symbol: class ConcaveShape
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:14: error: package javax.vecmath does not exist
        protected javax.vecmath.Vector3f scaling;
                               ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: cannot find symbol
        public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                            ^
      symbol:   class Transform
      location: class PlanetShape
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: package javax.vecmath does not exist
        public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                      ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: package javax.vecmath does not exist
        public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                      ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: cannot find symbol
        public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                        ^
      symbol:   class TriangleCallback
      location: class PlanetShape
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: package javax.vecmath does not exist
        public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: package javax.vecmath does not exist
        public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                                                ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:186: error: package javax.vecmath does not exist
        public void calculateLocalInertia(float mass, javax.vecmath.Vector3f inertia) {
                                                                   ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:191: error: package javax.vecmath does not exist
        public void setLocalScaling(javax.vecmath.Vector3f scaling) {
                                                 ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:196: error: cannot find symbol
        public BroadphaseNativeType getShapeType() {
               ^
      symbol:   class BroadphaseNativeType
      location: class PlanetShape
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:201: error: package javax.vecmath does not exist
        public javax.vecmath.Vector3f getLocalScaling(javax.vecmath.Vector3f scaling) {
                                                                   ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:201: error: package javax.vecmath does not exist
        public javax.vecmath.Vector3f getLocalScaling(javax.vecmath.Vector3f scaling) {
                            ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:212: error: package javax.vecmath does not exist
        private com.jme3.math.Vector3f convert(javax.vecmath.Vector3f oldVec)
                                                            ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:219: error: package javax.vecmath does not exist
        private void convert(javax.vecmath.Vector3f oldVec, com.jme3.math.Vector3f newVec)
                                          ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:226: error: package javax.vecmath does not exist
        private javax.vecmath.Vector3f convert(com.jme3.math.Vector3f oldVec)
                             ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:233: error: package javax.vecmath does not exist
        private void convert(com.jme3.math.Vector3f oldVec, javax.vecmath.Vector3f newVec)
                                                                         ^
    /home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:4: error: cannot find symbol
    import com.jme3.bullet.util.Converter;
                               ^
      symbol:   class Converter
      location: package com.jme3.bullet.util
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:40: error: cannot find symbol
    import com.jme3.network.Server;
                           ^
      symbol:   class Server
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:41: error: cannot find symbol
    import com.jme3.network.Client;
                           ^
      symbol:   class Client
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:42: error: cannot find symbol
    import com.jme3.network.HostedConnection;
                           ^
      symbol:   class HostedConnection
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:43: error: cannot find symbol
    import com.jme3.network.Message;
                           ^
      symbol:   class Message
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:44: error: cannot find symbol
    import com.jme3.network.MessageListener;
                           ^
      symbol:   class MessageListener
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:63: error: cannot find symbol
    public class PhysicsSyncManager extends AbstractAppState implements MessageListener {
                                                                        ^
      symbol: class MessageListener
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:65: error: cannot find symbol
        private Server server;
                ^
      symbol:   class Server
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:66: error: cannot find symbol
        private Client client;
                ^
      symbol:   class Client
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:34: error: cannot find symbol
    import com.jme3.network.AbstractMessage;
                           ^
      symbol:   class AbstractMessage
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:35: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:44: error: cannot find symbol
    public abstract class PhysicsSyncMessage extends AbstractMessage {
                                                     ^
      symbol: class AbstractMessage
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:43: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:77: error: cannot find symbol
        public PhysicsSyncManager(Application app, Server server) {
                                                   ^
      symbol:   class Server
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:82: error: cannot find symbol
        public PhysicsSyncManager(Application app, Client client) {
                                                   ^
      symbol:   class Client
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:243: error: cannot find symbol
        public void send(HostedConnection client, PhysicsSyncMessage msg) {
                         ^
      symbol:   class HostedConnection
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:266: error: cannot find symbol
        public void messageReceived(Object source, final Message message) {
                                                         ^
      symbol:   class Message
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:302: error: cannot find symbol
        public Server getServer() {
               ^
      symbol:   class Server
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:306: error: cannot find symbol
        public Client getClient() {
               ^
      symbol:   class Client
      location: class PhysicsSyncManager
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncCharacterMessage.java:36: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncCharacterMessage.java:43: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncRigidBodyMessage.java:39: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncRigidBodyMessage.java:46: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ActionMessage.java:7: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ActionMessage.java:13: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:71: error: cannot find symbol
    import com.jme3.network.Client;
                           ^
      symbol:   class Client
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:72: error: cannot find symbol
    import com.jme3.network.Server;
                           ^
      symbol:   class Server
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:100: error: cannot find symbol
        private Server server;
                ^
      symbol:   class Server
      location: class WorldManager
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:101: error: cannot find symbol
        private Client client;
                ^
      symbol:   class Client
      location: class WorldManager
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:52: error: package de.lessvoid.nifty.elements.render does not exist
    import de.lessvoid.nifty.elements.render.TextRenderer;
                                            ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:53: error: package de.lessvoid.nifty.screen does not exist
    import de.lessvoid.nifty.screen.Screen;
                                   ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:142: error: cannot find symbol
        public void setServer(Server server) {
                              ^
      symbol:   class Server
      location: class WorldManager
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:590: error: cannot find symbol
        private void makeManualControl(long entityId, Client client) {
                                                      ^
      symbol:   class Client
      location: class WorldManager
    /home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:624: error: cannot find symbol
        private void makeAutoControl(long entityId, Client client) {
                                                    ^
      symbol:   class Client
      location: class WorldManager
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:72: error: cannot find symbol
        protected Screen screen;
                  ^
      symbol:   class Screen
      location: class UserCommandControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
        protected TextRenderer[] selectionTexts = new TextRenderer[10];
                  ^
      symbol:   class TextRenderer
      location: class UserCommandControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
        protected TextRenderer[] commandTexts = new TextRenderer[10];
                  ^
      symbol:   class TextRenderer
      location: class UserCommandControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:95: error: cannot find symbol
        public UserCommandControl(Screen screen, InputManager inputManager) {
                                  ^
      symbol:   class Screen
      location: class UserCommandControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:38: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:47: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerAddPlayerMessage.java:36: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerAddPlayerMessage.java:42: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:40: error: package de.lessvoid.nifty.elements.render does not exist
    import de.lessvoid.nifty.elements.render.TextRenderer;
                                            ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:41: error: package de.lessvoid.nifty.screen does not exist
    import de.lessvoid.nifty.screen.Screen;
                                   ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:52: error: cannot find symbol
        protected Screen screen;
                  ^
      symbol:   class Screen
      location: class DefaultHUDControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:55: error: cannot find symbol
        protected TextRenderer hitPoints;
                  ^
      symbol:   class TextRenderer
      location: class DefaultHUDControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:56: error: cannot find symbol
        protected TextRenderer speed;
                  ^
      symbol:   class TextRenderer
      location: class DefaultHUDControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:57: error: cannot find symbol
        protected TextRenderer vehicle;
                  ^
      symbol:   class TextRenderer
      location: class DefaultHUDControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:59: error: cannot find symbol
        public DefaultHUDControl(Screen screen) {
                                 ^
      symbol:   class Screen
      location: class DefaultHUDControl
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:34: error: cannot find symbol
    import com.jme3.network.AbstractMessage;
                           ^
      symbol:   class AbstractMessage
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:35: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:42: error: cannot find symbol
    public class ServerJoinMessage extends AbstractMessage{
                                           ^
      symbol: class AbstractMessage
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:41: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEnableEntityMessage.java:38: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEnableEntityMessage.java:44: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ManualControlMessage.java:37: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ManualControlMessage.java:46: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:34: error: cannot find symbol
    import com.jme3.network.AbstractMessage;
                           ^
      symbol:   class AbstractMessage
      location: package com.jme3.network
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:35: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:42: error: cannot find symbol
    public class ServerPlayerDataMessage extends AbstractMessage {
                                                 ^
      symbol: class AbstractMessage
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:41: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEffectMessage.java:39: error: package com.jme3.network.serializing does not exist
    import com.jme3.network.serializing.Serializable;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEffectMessage.java:45: error: cannot find symbol
    @Serializable()
     ^
      symbol: class Serializable
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:4: error: package com.bulletphysics.collision.broadphase does not exist
    import com.bulletphysics.collision.broadphase.BroadphaseNativeType;
                                                 ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:5: error: package com.bulletphysics.collision.shapes does not exist
    import com.bulletphysics.collision.shapes.ConcaveShape;
                                             ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:7: error: package com.bulletphysics.linearmath does not exist
    import com.bulletphysics.linearmath.Transform;
                                       ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:9: error: package com.bulletphysics.collision.shapes does not exist
    import com.bulletphysics.collision.shapes.TriangleCallback;
                                             ^
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:11: error: cannot find symbol
    public class PlanetShape extends ConcaveShape {
                                     ^
      symbol: class ConcaveShape
    /home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:17: error: package javax.vecmath does not exist
        protected javax.vecmath.Vector3f scaling;
                               ^
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    100 errors
    :compileJava FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':compileJava'.
    > Compilation failed; see the compiler error output for details.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    BUILD FAILED

    Total time: 8.31 secs
    dac@dac-Latitude-E7450 ~/p/spaceworld>

jme3-jme3-jme3-jme3… probably only need one.

You can see all of the packages here:

Edit: so you changed your post after I responded.

Based on the latest errors… still seems like your editor is somehow putting non UTF-8 characters in your files. javac only works with UTF-8 as I recall… but this is a more general problem with your source files than a JME issue.

Now this goes wrong

dac@dac-Latitude-E7450 ~/p/spaceworld> gradle run
:compileJava
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:3: error: package com.bulletphysics.collision.broadphase does not exist
import com.bulletphysics.collision.broadphase.BroadphaseNativeType;
                                             ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:4: error: package com.bulletphysics.collision.shapes does not exist
import com.bulletphysics.collision.shapes.ConcaveShape;
                                         ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:5: error: package com.bulletphysics.collision.shapes does not exist
import com.bulletphysics.collision.shapes.TriangleCallback;
                                         ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:6: error: package com.bulletphysics.linearmath does not exist
import com.bulletphysics.linearmath.Transform;
                                   ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:9: error: cannot find symbol
public class PlanetShape extends ConcaveShape {
                                 ^
  symbol: class ConcaveShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:14: error: package javax.vecmath does not exist
    protected javax.vecmath.Vector3f scaling;
                           ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: cannot find symbol
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                        ^
  symbol:   class Transform
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: package javax.vecmath does not exist
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                  ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:23: error: package javax.vecmath does not exist
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                  ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: cannot find symbol
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                    ^
  symbol:   class TriangleCallback
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: package javax.vecmath does not exist
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                            ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:30: error: package javax.vecmath does not exist
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                                            ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:186: error: package javax.vecmath does not exist
    public void calculateLocalInertia(float mass, javax.vecmath.Vector3f inertia) {
                                                               ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:191: error: package javax.vecmath does not exist
    public void setLocalScaling(javax.vecmath.Vector3f scaling) {
                                             ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:196: error: cannot find symbol
    public BroadphaseNativeType getShapeType() {
           ^
  symbol:   class BroadphaseNativeType
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:201: error: package javax.vecmath does not exist
    public javax.vecmath.Vector3f getLocalScaling(javax.vecmath.Vector3f scaling) {
                                                               ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:201: error: package javax.vecmath does not exist
    public javax.vecmath.Vector3f getLocalScaling(javax.vecmath.Vector3f scaling) {
                        ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:212: error: package javax.vecmath does not exist
    private com.jme3.math.Vector3f convert(javax.vecmath.Vector3f oldVec)
                                                        ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:219: error: package javax.vecmath does not exist
    private void convert(javax.vecmath.Vector3f oldVec, com.jme3.math.Vector3f newVec)
                                      ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:226: error: package javax.vecmath does not exist
    private javax.vecmath.Vector3f convert(com.jme3.math.Vector3f oldVec)
                         ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetShape.java:233: error: package javax.vecmath does not exist
    private void convert(com.jme3.math.Vector3f oldVec, javax.vecmath.Vector3f newVec)
                                                                     ^
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:4: error: cannot find symbol
import com.jme3.bullet.util.Converter;
                           ^
  symbol:   class Converter
  location: package com.jme3.bullet.util
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:40: error: cannot find symbol
import com.jme3.network.Server;
                       ^
  symbol:   class Server
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:41: error: cannot find symbol
import com.jme3.network.Client;
                       ^
  symbol:   class Client
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:42: error: cannot find symbol
import com.jme3.network.HostedConnection;
                       ^
  symbol:   class HostedConnection
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:43: error: cannot find symbol
import com.jme3.network.Message;
                       ^
  symbol:   class Message
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:44: error: cannot find symbol
import com.jme3.network.MessageListener;
                       ^
  symbol:   class MessageListener
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:63: error: cannot find symbol
public class PhysicsSyncManager extends AbstractAppState implements MessageListener {
                                                                    ^
  symbol: class MessageListener
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:65: error: cannot find symbol
    private Server server;
            ^
  symbol:   class Server
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:66: error: cannot find symbol
    private Client client;
            ^
  symbol:   class Client
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:34: error: cannot find symbol
import com.jme3.network.AbstractMessage;
                       ^
  symbol:   class AbstractMessage
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:35: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:44: error: cannot find symbol
public abstract class PhysicsSyncMessage extends AbstractMessage {
                                                 ^
  symbol: class AbstractMessage
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncMessage.java:43: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:77: error: cannot find symbol
    public PhysicsSyncManager(Application app, Server server) {
                                               ^
  symbol:   class Server
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:82: error: cannot find symbol
    public PhysicsSyncManager(Application app, Client client) {
                                               ^
  symbol:   class Client
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:243: error: cannot find symbol
    public void send(HostedConnection client, PhysicsSyncMessage msg) {
                     ^
  symbol:   class HostedConnection
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:266: error: cannot find symbol
    public void messageReceived(Object source, final Message message) {
                                                     ^
  symbol:   class Message
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:302: error: cannot find symbol
    public Server getServer() {
           ^
  symbol:   class Server
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/PhysicsSyncManager.java:306: error: cannot find symbol
    public Client getClient() {
           ^
  symbol:   class Client
  location: class PhysicsSyncManager
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncCharacterMessage.java:36: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncCharacterMessage.java:43: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncRigidBodyMessage.java:39: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/com/jme3/network/physicssync/SyncRigidBodyMessage.java:46: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ActionMessage.java:7: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ActionMessage.java:13: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:71: error: cannot find symbol
import com.jme3.network.Client;
                       ^
  symbol:   class Client
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:72: error: cannot find symbol
import com.jme3.network.Server;
                       ^
  symbol:   class Server
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:100: error: cannot find symbol
    private Server server;
            ^
  symbol:   class Server
  location: class WorldManager
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:101: error: cannot find symbol
    private Client client;
            ^
  symbol:   class Client
  location: class WorldManager
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:52: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:53: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:142: error: cannot find symbol
    public void setServer(Server server) {
                          ^
  symbol:   class Server
  location: class WorldManager
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:590: error: cannot find symbol
    private void makeManualControl(long entityId, Client client) {
                                                  ^
  symbol:   class Client
  location: class WorldManager
/home/dac/proj/spaceworld/src/main/java/spaceworld/WorldManager.java:624: error: cannot find symbol
    private void makeAutoControl(long entityId, Client client) {
                                                ^
  symbol:   class Client
  location: class WorldManager
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:72: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
    protected TextRenderer[] selectionTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
    protected TextRenderer[] commandTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:95: error: cannot find symbol
    public UserCommandControl(Screen screen, InputManager inputManager) {
                              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:38: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:47: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerAddPlayerMessage.java:36: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerAddPlayerMessage.java:42: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:40: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:41: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:52: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:55: error: cannot find symbol
    protected TextRenderer hitPoints;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:56: error: cannot find symbol
    protected TextRenderer speed;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:57: error: cannot find symbol
    protected TextRenderer vehicle;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:59: error: cannot find symbol
    public DefaultHUDControl(Screen screen) {
                             ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:34: error: cannot find symbol
import com.jme3.network.AbstractMessage;
                       ^
  symbol:   class AbstractMessage
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:35: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:42: error: cannot find symbol
public class ServerJoinMessage extends AbstractMessage{
                                       ^
  symbol: class AbstractMessage
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerJoinMessage.java:41: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEnableEntityMessage.java:38: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEnableEntityMessage.java:44: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ManualControlMessage.java:37: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ManualControlMessage.java:46: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:34: error: cannot find symbol
import com.jme3.network.AbstractMessage;
                       ^
  symbol:   class AbstractMessage
  location: package com.jme3.network
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:35: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:42: error: cannot find symbol
public class ServerPlayerDataMessage extends AbstractMessage {
                                             ^
  symbol: class AbstractMessage
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerPlayerDataMessage.java:41: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEffectMessage.java:39: error: package com.jme3.network.serializing does not exist
import com.jme3.network.serializing.Serializable;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/ServerEffectMessage.java:45: error: cannot find symbol
@Serializable()
 ^
  symbol: class Serializable
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:4: error: package com.bulletphysics.collision.broadphase does not exist
import com.bulletphysics.collision.broadphase.BroadphaseNativeType;
                                             ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:5: error: package com.bulletphysics.collision.shapes does not exist
import com.bulletphysics.collision.shapes.ConcaveShape;
                                         ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:7: error: package com.bulletphysics.linearmath does not exist
import com.bulletphysics.linearmath.Transform;
                                   ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:9: error: package com.bulletphysics.collision.shapes does not exist
import com.bulletphysics.collision.shapes.TriangleCallback;
                                         ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:11: error: cannot find symbol
public class PlanetShape extends ConcaveShape {
                                 ^
  symbol: class ConcaveShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:17: error: package javax.vecmath does not exist
    protected javax.vecmath.Vector3f scaling;
                           ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:26: error: cannot find symbol
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                        ^
  symbol:   class Transform
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:26: error: package javax.vecmath does not exist
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                  ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:26: error: package javax.vecmath does not exist
    public void getAabb(Transform t, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                  ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:33: error: cannot find symbol
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                    ^
  symbol:   class TriangleCallback
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:33: error: package javax.vecmath does not exist
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                            ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:33: error: package javax.vecmath does not exist
    public void processAllTriangles(TriangleCallback callback, javax.vecmath.Vector3f aabbMin, javax.vecmath.Vector3f aabbMax) {
                                                                                                            ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:189: error: package javax.vecmath does not exist
    public void calculateLocalInertia(float mass, javax.vecmath.Vector3f inertia) {
                                                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:194: error: package javax.vecmath does not exist
    public void setLocalScaling(javax.vecmath.Vector3f scaling) {
                                             ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:199: error: cannot find symbol
    public BroadphaseNativeType getShapeType() {
           ^
  symbol:   class BroadphaseNativeType
  location: class PlanetShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetShape.java:204: error: package javax.vecmath does not exist
    public javax.vecmath.Vector3f getLocalScaling(javax.vecmath.Vector3f scaling) {
                                                               ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
100 errors
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 5.821 secs
dac@dac-Latitude-E7450 ~/p/spaceworld> 

My build.gradle

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName='spaceworld.SpaceUFO'

repositories {
    jcenter()
}

ext.jmeVersion = "[3.1,)"

project(":assets") {
    apply plugin: "java"

    buildDir = rootProject.file("build/assets")

    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }
}


dependencies {

    compile "org.jmonkeyengine:jme3-core:$jmeVersion"
    compile "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    compile "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"
    compile "org.jmonkeyengine:jme3-blender:$jmeVersion"
    compile "org.jmonkeyengine:jme3-bullet-native:$jmeVersion"
    compile "org.jmonkeyengine:jme3-plugins:$jmeVersion"
                                                                 
    compile files('libs/cai-nmgen-0.2.0.jar')

    runtime project(':assets')
}

task wrapper(type: Wrapper) {
}

task createDirs << {

    def pkg = 'spaceworld'
    def dirs = [
            file("./src/main/java/$pkg"),
            file("./src/main/resources"),
            file("./assets/Interface"),
            file("./assets/MatDefs"),
            file("./assets/Materials"),
            file("./assets/Models"),
            file("./assets/Scenes"),
            file("./assets/Shaders"),
            file("./assets/Sounds"),
            file("./assets/Textures"),
    ]

    dirs.each {
        if( !it.exists() ) {
            println "Creating " + it
            it.mkdirs()
        }
        if( it.listFiles().length == 0 ) {
            def stub = new File(it, 'removeme.txt')
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}

I’m stuck here

com.bulletphysics.collision.broadphase does not exist

I added the bullet physics library but still it is not working. It was easier without a build system and just manually adding jars.

I’m trying to build it with gradle. It seems I need jbullet and now 50 more lines can break my build.

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName = 'spaceworld.SpaceUFO'

repositories {
    jcenter()
}

ext.jmeVersion = "[3.1,)"

project(":assets") {
    apply plugin: "java"

    buildDir = rootProject.file("build/assets")

    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }
}
repositories {
    mavenCentral()
    maven {
        url "https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet"
    }
}

dependencies {

    compile "org.jmonkeyengine:jme3-core:$jmeVersion"
    compile "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    compile "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"
    compile "org.jmonkeyengine:jme3-blender:$jmeVersion"
    compile "org.jmonkeyengine:jme3-bullet:$jmeVersion"
    compile "org.jmonkeyengine:jme3-plugins:$jmeVersion"
    compile "org.jmonkeyengine:jme3-networking:$jmeVersion"
    compile "org.jmonkeyengine:jme3-jbullet:$jmeVersion"
    compile group: "cz.advel.jbullet", name: "jbullet", version: "20101010"
    compile files('libs/cai-nmgen-0.2.0.jar')

    runtime project(':assets')
}

task wrapper(type: Wrapper) {
}

task createDirs << {

    def pkg = 'spaceworld'
    def dirs = [
            file("./src/main/java/$pkg"),
            file("./src/main/resources"),
            file("./assets/Interface"),
            file("./assets/MatDefs"),
            file("./assets/Materials"),
            file("./assets/Models"),
            file("./assets/Scenes"),
            file("./assets/Shaders"),
            file("./assets/Sounds"),
            file("./assets/Textures"),
    ]

    dirs.each {
        if (!it.exists()) {
            println "Creating " + it
            it.mkdirs()
        }
        if (it.listFiles().length == 0) {
            def stub = new File(it, 'removeme.txt')
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}

output

dac@dac-Latitude-E7450 ~/p/spaceworld> gradle run
:compileJava
Invalid cookie header: "Set-Cookie: MVN_SESSION=171bc686eec8880f192a2660b9893d5eb5cf954a-uid=15b55b51-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:18 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:18 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=213bdf090f4219c71de836a12c69a6c702013db2-uid=15c9f4c1-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:18 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:18 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=7ad5e2b8bdd9ea16db19f168d43e2995f86bb32f-uid=15fd87e1-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:19 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:19 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=41b5afb5f82bd80eddc1d67bcc3a1ad64167c994-uid=1610c1c1-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:19 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:19 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=2e68ec7137ffe8ca84e07e1eb87f93d60d1d32a7-uid=16565640-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:19 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:19 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=42d0691a75a75ee25aa95029120971fd958b0d71-uid=16691af1-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:19 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:19 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=cdf2a35d6994c4a57952121f742162d95d33c204-uid=16984141-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:20 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:20 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=29d8aa5de91bc7190a069ccee32623d8c5bd7da6-uid=16ab2d00-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:20 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:20 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=642778f6e77630ac63eb9597bcb6d76409cb9322-uid=16cb3820-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:20 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:20 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=dcbc321d7aed38a1478ef6f55c3fdeee19dd5a79-uid=16dec020-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:20 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:20 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=fa3f61c251bc1678e8a751c99ebb0cb65a5483d4-uid=170ab221-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:20 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:20 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=5f7f8ad32de569b8d2ce2010b2da8781022b06e6-uid=171d9de0-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:21 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:21 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=b29fe6df488d4b85b9e3cd0e1cf7864fcaca38b0-uid=1746d0c0-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:21 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:21 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=8de8c6b0d821d8274e167cb0541f34da2b207b15-uid=1759e390-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:21 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:21 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=d12edd35787b0076f52f28c644074d76f09e9e74-uid=17a25e41-392c-11e6-ad17-715c8ec83dfc; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:21 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:21 GMT
Invalid cookie header: "Set-Cookie: MVN_SESSION=5bc3ecf387a22256e08c3034670b809b1c7a2998-uid=17b6d0a1-392c-11e6-b338-a16379e0552f; Max-Age=31536000; Expires=Fri, 23 Jun 2017 10:20:22 GMT; Path=/; HTTPOnly". Invalid 'expires' attribute: Fri, 23 Jun 2017 10:20:22 GMT
Download https://jcenter.bintray.com/cz/advel/jbullet/jbullet/20101010/jbullet-20101010.pom
Download https://jcenter.bintray.com/asm/asm-all/3.1/asm-all-3.1.pom
Download https://jcenter.bintray.com/asm/asm-parent/3.1/asm-parent-3.1.pom
Download https://jcenter.bintray.com/ant/ant/1.6.5/ant-1.6.5.pom

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Could not find any matches for org.jmonkeyengine:jme3-jbullet:[3.1,) as no versions of org.jmonkeyengine:jme3-jbullet are available.
  Searched in the following locations:
      https://jcenter.bintray.com/org/jmonkeyengine/jme3-jbullet/maven-metadata.xml
      https://jcenter.bintray.com/org/jmonkeyengine/jme3-jbullet/
      https://repo1.maven.org/maven2/org/jmonkeyengine/jme3-jbullet/maven-metadata.xml
      https://repo1.maven.org/maven2/org/jmonkeyengine/jme3-jbullet/
      https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet/org/jmonkeyengine/jme3-jbullet/maven-metadata.xml
      https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet/org/jmonkeyengine/jme3-jbullet/
  Required by:
      :spaceworld:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 13.407 secs

It is beyond grotesque that I must learn 2 new build systems when it worked without a build system.

Well, now you are pulling in multiple versions of jbullet so there will be issues.

If it was working without a build system then why switch?

If it was working without a build system then surely you at one point had a handle on your dependencies… which would be like 10000% of the info we would need to help sort this out. It’s funny how much quicker threads go when the proper information is provided up front, though.

What if the thread had started:
“I used to build this way… here is my build. Now I’m trying to build this way and it fails… here is my build.”

…we’d probably be done by now.

It’s beyond grotesque that you don’t do things which were recommended to you and still complain when it goes wrong.

You can use david’s template
Just extract this file and see if it works. It should compile.
Then you start from there by adding blender and what you need. but only what you need (jbullet is not one of those actually)

Or you simply use the SDK without touching the models there.

Btw: It might be true that you never had that troubles with asm/c, but why? because you didn’t use libraries there.
Maven is actually pretty simple. As simple as apt, pip (python), installer (ruby), bundler and all those tools.
You just need to know what jar’s you use (which is something you don’t seem to know)

And again: You don’t need jBullet but Bullet Native and jBullet is not really available currently unless you build the engine by hand and supply the jbullet.jar

Now this class is unavailable

com.jme3.bullet.util.Converter;

error msg

dac@dac-Latitude-E7450 ~/p/spaceworld> 
dac@dac-Latitude-E7450 ~/p/spaceworld> gradle run
:compileJava
Download https://jcenter.bintray.com/cz/advel/jbullet/jbullet/20101010/jbullet-20101010.jar
Download https://jcenter.bintray.com/asm/asm-all/3.1/asm-all-3.1.jar
Download https://jcenter.bintray.com/ant/ant/1.6.5/ant-1.6.5.jar
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:4: error: cannot find symbol
import com.jme3.bullet.util.Converter;
                           ^
  symbol:   class Converter
  location: package com.jme3.bullet.util
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:52: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:53: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:72: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
    protected TextRenderer[] selectionTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
    protected TextRenderer[] commandTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:95: error: cannot find symbol
    public UserCommandControl(Screen screen, InputManager inputManager) {
                              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:40: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:41: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:52: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:55: error: cannot find symbol
    protected TextRenderer hitPoints;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:56: error: cannot find symbol
    protected TextRenderer speed;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:57: error: cannot find symbol
    protected TextRenderer vehicle;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:59: error: cannot find symbol
    public DefaultHUDControl(Screen screen) {
                             ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:4: error: cannot find symbol
import com.jme3.bullet.util.Converter;
                           ^
  symbol:   class Converter
  location: package com.jme3.bullet.util
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:21: error: cannot find symbol
        cShape = new PlanetShape(center, radius, dataSource);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:23: error: cannot find symbol
        cShape.setMargin(margin);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
    protected TextRenderer[] selectionTexts = new TextRenderer[10];
                                                  ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
    protected TextRenderer[] commandTexts = new TextRenderer[10];
                                                ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:371: error: cannot find symbol
            TextRenderer textRenderer = selectionTexts[i];
            ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:468: error: cannot find symbol
            TextRenderer textRenderer = commandTexts[i];
            ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:76: error: reference to log is ambiguous
            Logger.getLogger(AutoControlMessage.class.getName()).log(Level.SEVERE, "Entity {0} has to Autonomous Control, message not accepted", ((Spatial)object).getUserData("entity_id"));
                                                                ^
  both method log(Level,String,Object[]) in Logger and method log(Level,String,Throwable) in Logger match
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:21: error: cannot find symbol
        cShape = new PlanetShape(center, radius, dataSource);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:23: error: cannot find symbol
        cShape.setMargin(margin);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
24 errors
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 10.143 secs
dac@dac-Latitude-E7450 ~/p/spaceworld>

Nifty is not available in public repos “officially” so other means are necessary to use it.

I have no problems building my game without a build system and jme 3,0 from 2014. But I want a build system so that I can have collaborators more easily. My current build breaks because there is a missing depency xmlpull.

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName = 'spaceworld.SpaceUFO'

repositories {
    jcenter()
}

ext.jmeVersion = "[3.1,)"

project(":assets") {
    apply plugin: "java"

    buildDir = rootProject.file("build/assets")

    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }
}
repositories {
    mavenCentral()
    maven {
        url "https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet"

    }
    maven {

        url "https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.jmonkey"

    }
}



dependencies {

    compile "org.jmonkeyengine:jme3-core:$jmeVersion"
    compile "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    compile "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"
    compile "org.jmonkeyengine:jme3-blender:$jmeVersion"
    compile "org.jmonkeyengine:jme3-bullet:$jmeVersion"
    compile "org.jmonkeyengine:jme3-plugins:$jmeVersion"
    compile "org.jmonkeyengine:jme3-networking:$jmeVersion"
  
    compile group: "cz.advel.jbullet", name: "jbullet", version: "20101010"

    compile group: "org.cogchar", name: "ext.bundle.opengl.jmonkey", version: "1.1.3"

    compile files('libs/cai-nmgen-0.2.0.jar')

    runtime project(':assets')
}

task wrapper(type: Wrapper) {
}

task createDirs << {

    def pkg = 'spaceworld'
    def dirs = [
            file("./src/main/java/$pkg"),
            file("./src/main/resources"),
            file("./assets/Interface"),
            file("./assets/MatDefs"),
            file("./assets/Materials"),
            file("./assets/Models"),
            file("./assets/Scenes"),
            file("./assets/Shaders"),
            file("./assets/Sounds"),
            file("./assets/Textures"),
    ]

    dirs.each {
        if (!it.exists()) {
            println "Creating " + it
            it.mkdirs()
        }
        if (it.listFiles().length == 0) {
            def stub = new File(it, 'removeme.txt')
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}

error msg

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Could not find com.jme3:xmlpull-xpp3:3.0.0.20140325-SNAPSHOT.
  Searched in the following locations:
      https://jcenter.bintray.com/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/maven-metadata.xml
      https://jcenter.bintray.com/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.pom
      https://jcenter.bintray.com/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.jar
      https://repo1.maven.org/maven2/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/maven-metadata.xml
      https://repo1.maven.org/maven2/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.pom
      https://repo1.maven.org/maven2/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.jar
      https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/maven-metadata.xml
      https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.pom
      https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.jar
      https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.jmonkey/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/maven-metadata.xml
      https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.jmonkey/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.pom
      https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.jmonkey/com/jme3/xmlpull-xpp3/3.0.0.20140325-SNAPSHOT/xmlpull-xpp3-3.0.0.20140325-SNAPSHOT.jar
  Required by:
      :spaceworld:unspecified > org.cogchar:ext.bundle.opengl.jmonkey:1.1.3

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Is it possible for me to continue or must I give up both maven and gradle now?

Remove url "https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.jmonkey" and compile group: "org.cogchar", name: "ext.bundle.opengl.jmonkey", version: "1.1.3" since that’s some third party thing and there might be the wierd xmlpull dependency

1 Like

Yes there is a xml dependency from there but I need it because it finds com.jme3.bullet.util.Converter that is otherwise not available.

I can still build and run my game without a build system, but it would be nice if a build system worked.

error msg

dac@dac-Latitude-E7450 ~/p/spaceworld> gradle run
:compileJava
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:4: error: cannot find symbol
import com.jme3.bullet.util.Converter;
                           ^
  symbol:   class Converter
  location: package com.jme3.bullet.util
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:52: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:53: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:72: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
    protected TextRenderer[] selectionTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
    protected TextRenderer[] commandTexts = new TextRenderer[10];
              ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:95: error: cannot find symbol
    public UserCommandControl(Screen screen, InputManager inputManager) {
                              ^
  symbol:   class Screen
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:40: error: package de.lessvoid.nifty.elements.render does not exist
import de.lessvoid.nifty.elements.render.TextRenderer;
                                        ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:41: error: package de.lessvoid.nifty.screen does not exist
import de.lessvoid.nifty.screen.Screen;
                               ^
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:52: error: cannot find symbol
    protected Screen screen;
              ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:55: error: cannot find symbol
    protected TextRenderer hitPoints;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:56: error: cannot find symbol
    protected TextRenderer speed;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:57: error: cannot find symbol
    protected TextRenderer vehicle;
              ^
  symbol:   class TextRenderer
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/DefaultHUDControl.java:59: error: cannot find symbol
    public DefaultHUDControl(Screen screen) {
                             ^
  symbol:   class Screen
  location: class DefaultHUDControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:4: error: cannot find symbol
import com.jme3.bullet.util.Converter;
                           ^
  symbol:   class Converter
  location: package com.jme3.bullet.util
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:21: error: cannot find symbol
        cShape = new PlanetShape(center, radius, dataSource);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/sw3d/PlanetCollisionShape.java:23: error: cannot find symbol
        cShape.setMargin(margin);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:73: error: cannot find symbol
    protected TextRenderer[] selectionTexts = new TextRenderer[10];
                                                  ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:74: error: cannot find symbol
    protected TextRenderer[] commandTexts = new TextRenderer[10];
                                                ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:371: error: cannot find symbol
            TextRenderer textRenderer = selectionTexts[i];
            ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/UserCommandControl.java:468: error: cannot find symbol
            TextRenderer textRenderer = commandTexts[i];
            ^
  symbol:   class TextRenderer
  location: class UserCommandControl
/home/dac/proj/spaceworld/src/main/java/spaceworld/AutoControlMessage.java:76: error: reference to log is ambiguous
            Logger.getLogger(AutoControlMessage.class.getName()).log(Level.SEVERE, "Entity {0} has to Autonomous Control, message not accepted", ((Spatial)object).getUserData("entity_id"));
                                                                ^
  both method log(Level,String,Object[]) in Logger and method log(Level,String,Throwable) in Logger match
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:21: error: cannot find symbol
        cShape = new PlanetShape(center, radius, dataSource);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
/home/dac/proj/spaceworld/src/main/java/spaceworld/PlanetCollisionShape.java:23: error: cannot find symbol
        cShape.setMargin(margin);
        ^
  symbol:   variable cShape
  location: class PlanetCollisionShape
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
24 errors
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 10.153 secs
dac@dac-Latitude-E7450 ~/p/spaceworld> 

build.gradle

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'

mainClassName = 'spaceworld.SpaceUFO'

repositories {
    jcenter()
}

ext.jmeVersion = "[3.1,)"

project(":assets") {
    apply plugin: "java"

    buildDir = rootProject.file("build/assets")

    sourceSets {
        main {
            resources {
                srcDir '.'
            }
        }
    }
}
repositories {
    mavenCentral()
    maven {
        url "https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet"

    }
  
}



dependencies {

    compile "org.jmonkeyengine:jme3-core:$jmeVersion"
    compile "org.jmonkeyengine:jme3-desktop:$jmeVersion"
    compile "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"
    compile "org.jmonkeyengine:jme3-blender:$jmeVersion"
    compile "org.jmonkeyengine:jme3-bullet:$jmeVersion"
    compile "org.jmonkeyengine:jme3-plugins:$jmeVersion"
    compile "org.jmonkeyengine:jme3-networking:$jmeVersion"
  
    compile group: "cz.advel.jbullet", name: "jbullet", version: "20101010"

   

    compile files('libs/cai-nmgen-0.2.0.jar')

    runtime project(':assets')
}

task wrapper(type: Wrapper) {
}

task createDirs << {

    def pkg = 'spaceworld'
    def dirs = [
            file("./src/main/java/$pkg"),
            file("./src/main/resources"),
            file("./assets/Interface"),
            file("./assets/MatDefs"),
            file("./assets/Materials"),
            file("./assets/Models"),
            file("./assets/Scenes"),
            file("./assets/Shaders"),
            file("./assets/Sounds"),
            file("./assets/Textures"),
    ]

    dirs.each {
        if (!it.exists()) {
            println "Creating " + it
            it.mkdirs()
        }
        if (it.listFiles().length == 0) {
            def stub = new File(it, 'removeme.txt')
            println "Creating stub file to allow git checkin, file:$stub"
            stub.text = "Remove me when there are files here."
        }
    }
}

That class is specific to the Java version of bullet where as you are trying to use the native version of bullet.

I’ve never used bullet but I found that in 10 seconds looking through the github repo…

Anyway, depending on what you use it for you might consider doing the conversion a different way so that you can use native bullet. Else you will have to find a version of the jbullet.jar that works with JME as that’s another thing that has no official maven repo… though I think it is on bintray.

1 Like