我有下面的Ant构建文件,并尝试使用目标'run'来执行程序.
<property name="springjar" location="E:/Tools/spring-30/dist/" />
<property name="logjar" location="E:/Tools/commons-logging-1.1.1/" />
<patternset id="jar.files"><include name="**/*.jar"/></patternset>
<path id="springlearn.classpath">
<fileset dir="${springjar}"><patternset refid="jar.files"/></fileset>
<fileset dir="${logjar}"><patternset refid="jar.files"/></fileset>
</path>
<target name="run" depends="dist" description="Execute the Java Program">
<java dir ="." fork="true" jar="dist\app.jar" classpathref ="springlearn.classpath">
</java>
</target>
Run Code Online (Sandbox Code Playgroud)
使用相同的classpathref,我能够成功编译并创建jar,但是当使用目标运行时,我得到以下错误
java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Run Code Online (Sandbox Code Playgroud)
线程"main"中的异常
任何帮助是极大的赞赏.谢谢
我在同一个包中有一个接口及其实现类.我在命令行中使用javac来编译它们.我能够成功编译接口类,但是在编译接口类后尝试编译实现类时,我收到错误 - 找不到符号.但是,由于接口及其实现都在同一个文件夹中,如果我执行Javac*.我能够编译它们.
有人能帮我理解这种行为吗?谢谢你的时间