That sounds more like the texture data isn't uploaded rather than texture ids (just guessing). Anyway, I use this on Mac
final InputStream in = getClass().getResourceAsStream(resourcename);
final Texture tex = TextureIO.newTexture(in, false, "png");
tex.setTexParameteri(gl, GL.GL_TEXTURE_MAG_FILTER,
GL.GL_LINEAR);
tex.setTexParameteri(gl, GL.GL_TEXTURE_MIN_FILTER,
GL.GL_LINEAR);
then later on when rendering I do
tex.bind(gl);
to bind the texture when needed, that works fine for reading an image from file, so if that is your use case you could have a look at TextureIO
http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/com/jogamp/opengl/util/texture/TextureIO.html#newTexture(java.io.InputStream,%20boolean,%20java.lang.String)