我想在Eclipse中編譯和運行一個簡單的Java類。編譯任務工作正常,並且由於我沒有指定目標文件夾,所以構建文件與源文件位於同一目錄中。哪一個是正確的,目前我需要的是學習如何使用main()方法來運行這個類。ClassNotFoundException與螞蟻的Java任務和類路徑
我已經使用類的完全限定域名(產品包名稱等)和單獨的類名試過,但我總是得到了java.lang.ClassNotFoundException
Buildfile: C:\Users....\build.xml
run:
[java] java.lang.NoClassDefFoundError: code/control/MyClass
[java] Caused by: java.lang.ClassNotFoundException: code.control.MyClass
[java] at java.net.URLClassLoader$1.run(Unknown Source)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClass(Unknown Source)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
[java] Could not find the main class: code.control.MyClass. Program will exit.
[java] Exception in thread "main"
[java] Java Result: 1
compile:
default:
BUILD SUCCESSFUL
Total time: 234 milliseconds
下面,採取目標從我的build.xml文件:
<target name="default" depends="compile" description="learn">
</target>
<target name="compile" depends="run">
<javac srcdir="src/" />
</target>
<target name="run">
<java classname="code.control.MyClass" fork="true"/>
</target>
我找不出爲什麼找不到類。 MyClass包含main()方法,因爲我沒有指定classpath,它應該查看當前目錄,這是src/right?
開發目錄是通常的Eclipse文件結構:
PROJECTNAME/src目錄/代碼/控制/ MyClass的
如果它是一個classpath的問題,我怎麼能解決這個問題?我總是有把握把它放在你的類路徑上的問題......如果有人能夠在螞蟻環境中提供一些類路徑的解釋,我會非常感激。
感謝您的任何幫助。螞蟻的版本是1.7.0
注意ClassNotFoundExceptions和NoClassDefFoundErrors不是同義詞。 – akf 2009-07-15 06:00:36
你有沒有注意到你的目標「編譯」取決於「運行」? 這樣跑將在編譯之前被稱爲... 修復: <目標名稱= 「編譯」> (...) <目標名稱= 「跑」 取決於= 「編譯」> (.. ) – 2010-02-17 13:33:54