den*_*chr 2 java ant classpath
我试图在eclipse中编译并运行一个简单的java类.编译任务工作正常,因为我没有指定目标文件夹,所以构建文件与源位于同一目录中.哪个没关系,目前我需要的是学习如何使用main()方法运行该类.
我已经尝试使用类的完全限定名称(包名称等)和类名,但总是得到一个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
Run Code Online (Sandbox Code Playgroud)
下面是我的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>
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么找不到这门课.MyClass包含main()方法,因为我没有指定类路径,所以它应该查看当前目录,即src/right?
开发目录是通常的eclipse文件结构:
PROJECTNAME/SRC /代码/控制/ MyClass的
如果是类路径问题,我该如何解决?我总是有把握"把它放在你的类路径上"这个概念的问题......如果有人能在蚂蚁语境中对类路径做一点解释,我会非常感激.
感谢您的帮助.ant的版本是1.7.0
在类路径是Java运行时查找你的.class文件,类似于你的操作系统如何使用PATH变量找到可执行文件.
在您的构建脚本中尝试此操作:
<target name="run">
<java fork="true" classname="code.control.MyClass">
<classpath>
<path location="src/"/>
</classpath>
</java>
Run Code Online (Sandbox Code Playgroud)
有一个用于ant的HelloWorld版本,用于构建使用ant的Java程序.
| 归档时间: |
|
| 查看次数: |
19221 次 |
| 最近记录: |