SunSPOTの開発ですが,Sunの製品ってこともあり,Net Beansが推奨されていますが,デファクトスタンダードはEclipseかなぁと思い,開発はWindows + Eclipseで進めていた自分です.
今まで,Sun SPOTのエンドノード側のプログラムを書いていたときは,Eclipseでコードを書いて,コマンドプロンプトでant deploy run コマンドを実行して,問題なかったけど,ホストアプリケーションの方でささった.
Sun SPOTのプログラムと同様に,Eclipseでコードを書いて,コマンドプロンプトでant host-compileを実行後,ant host-runを実行すると
-do-host-run:
[java] java.lang.NoClassDefFoundError: squawk/application/Startup
[java] Caused by: java.lang.ClassNotFoundException: squawk.application.Startup
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
[java] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
[java] Could not find the main class: squawk.application.Startup. Program will exit.
[java] Exception in thread "main"
BUILD FAILED
C:\SunSPOT\sdk\ant\host-run.xml:35: Java returned: 1
のようなエラーが・・・コチラのサイトに書かれている症状と全く同じ.
Eclipseだと生成されない「build.properties」を作成したら問題解決.build.xmlと同じフォルダに以下のように記述したbuild.propertiesを作成し,ant host-compile,ant host-runすれば,無事にホストアプリケーションが動いてくれます.
main.class=org.sunspotworld.SunSpotHostApplication
↑は,SunSPOTのsdkディレクトリの下にあるDemos/CodeSamples/SunSpotHostApplicationTemplateの場合.
main.class=パッケージ名.main関数を持つクラス名
のように,すればOK.
Sun SPOT, antに関しては早稲田大学のコチラのサイトが役に立ちました.