SDK not creating assets.jar - \"it\'s a directory\"

Hi All,

Just trying out jme3, and came across a little problem when trying to build a project based on one of the tutorials.

When building, the SDK would error, and not create the assets.jar file. It would complain that “assets” would not be copied because “it’s a directory”.

I searched for solutions, and the only suggestion I could find was modifying the project properties to change the asset directory, try a build, then change it back. This did not work for me, and no matter what restarts and other I did would fix it. Running the SDK on Ubuntu 14.10. I was trying to demo a model/scene my nephew had made (a house).

So then I tried ticking the box to create a Windows EXE. For some reason this fixed the assets.jar problem. The build then worked fine. I then switched off the Windows EXE option, and the build continue to work and make the assets.jar file.

So in the end, not sure what was wrong, and what actually fixed what, but thought someone else might be pulling their hair out at some point.

How did you create the project?

I created it following the instructions of the first tutorial - so basically using the Wizard to create a Basic Game. For each tutorial, I copied and pasted the whole tutorial code from website to editor. I didn’t create a new project each time - I just renamed the java file to match the code.

Hi I’m new to JME3, finished a year of Java using eclipse in my classes for my degree, and wanted to keep practicing my programming. Now setting up I’m having the same problem, except I am on the Hello Assets tutorial, and it is only my Interface/Fonts/Default.fnt

////////////////
com.jme3.asset.AssetNotFoundException: Asset name doesn’t match requirements.
“C:/Users/Travis/Desktop/Game Projects/HelloWorldTutorial/assets/Interface/Fonts/Default.fnt” doesn’t match “InterFace/Fonts/Default.fnt”
at com.jme3.asset.plugins.ClasspathLocator.locate(ClasspathLocator.java:97)
at com.jme3.asset.ImplHandler.tryLocate(ImplHandler.java:177)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:272)
at com.jme3.asset.DesktopAssetManager.loadFont(DesktopAssetManager.java:370)

I’ve even tried creating a new font default font, since it wasn’t in the test-data library when I search through package explorer. and I can’t load my created font either. I’ve reduced the code to just the font to troubleshoot, but I’m pretty much stuck now.

package jme3test.helloworld;

/**

  • Hello Assets Tutorial
  • @author Travis
    */
    import com.jme3.app.SimpleApplication;
    import com.jme3.font.BitmapText;

public class DisplayFont extends SimpleApplication {

public static void main(String[] args) {
    DisplayFont app = new DisplayFont();
    app.start();
}//end main method

@Override
public void simpleInitApp() {
    try {
    // Display a line of text with a default font
    setDisplayStatView(false);

    guiFont = assetManager.loadFont("InterFace/Fonts/Default.fnt");
    BitmapText helloText = new BitmapText(guiFont, false);
    helloText.setSize(guiFont.getCharSet().getRenderedSize());
    helloText.setText("Hello World");
    helloText.setLocalTranslation(300, helloText.getLineHeight(), 0);
    guiNode.attachChild(helloText);
 
   rootNode.attachChild(guiNode);
  
}//end simpleInitApp()

}//end HelloAssets class

I did a clean and build and got this message in output
Copying 1 file to C:\Users\Travis\Desktop\Game Projects\HelloWorldTutorial\build
Not copying library C:\Users\Travis\Desktop\Game Projects\HelloWorldTutorial\assets , it’s a directory.

oh man… I hate missing one char difference like that, but thanks for spotting it so quick!! I was staring at it for a couple hrs.

For use in the future, a trick I sometimes do when I’m desperate is to cut and paste each one and put them one over the other:
Interface/Fonts/Default.fnt
InterFace/Fonts/Default.fnt

…the differences are more likely to jump out then.