当 运行 java 程序使用 Ant 时找不到或加载主 class 程序?
Could not find or load main class when Running java program using Ant?
我正在学习 Ant 以 运行 Java 构建和不构建 Jar 文件的程序。
这是我想要的简单程序 运行
public class ForDemo {
int i = 0;
byte b = 0;
short s = 0;
double d = 0;
float f = 0;
public ForDemo() {
for (int i = 0; i <= 1000; i++) {
System.out.println("" + i);
}
}
public static void main(String[] args) {
new ForDemo();
}
}
以及 Antbuild.xml 文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="run" basedir="." name="">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="compile">
<javac srcdir="." destdir="." includes="**/*.java" target="1.8">
<classpath refid="classpath.base" />
</javac>
</target>
<target name="run" depends="compile">
<java fork="true" failonerror="yes" classname="ForDemo">
<arg line=" "/>
<classpath refid="classpath.base" />
</java>
</target> <!-- Libraries on which your code depends -->
<path id="classpath.base">
<fileset dir="libs">
<include name="**/*.jar" />
</fileset>
</path>
</project>
但是我收到了这个错误
run:
[java] Error: Could not find or load main class ForDemo
BUILD FAILED
当我 运行 在我的 Linux Mint 17.1 x64 with oracle jdk 1.8b40.
上 java 文件命令的父目录中蚂蚁时
您没有将 javac 任务的输出目录 ("."
) 包含在 java 任务的 class 路径中,因此 ForDemo
class 当 java 执行时,您在那里编译的 class 不在 class 路径上。
您可以像这样在 java 任务中包含该目录:
<classpath>
<pathelement path="${classpath.base}"/>
<pathelement location="."/>
</classpath>
我正在学习 Ant 以 运行 Java 构建和不构建 Jar 文件的程序。
这是我想要的简单程序 运行
public class ForDemo {
int i = 0;
byte b = 0;
short s = 0;
double d = 0;
float f = 0;
public ForDemo() {
for (int i = 0; i <= 1000; i++) {
System.out.println("" + i);
}
}
public static void main(String[] args) {
new ForDemo();
}
}
以及 Antbuild.xml 文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="run" basedir="." name="">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="compile">
<javac srcdir="." destdir="." includes="**/*.java" target="1.8">
<classpath refid="classpath.base" />
</javac>
</target>
<target name="run" depends="compile">
<java fork="true" failonerror="yes" classname="ForDemo">
<arg line=" "/>
<classpath refid="classpath.base" />
</java>
</target> <!-- Libraries on which your code depends -->
<path id="classpath.base">
<fileset dir="libs">
<include name="**/*.jar" />
</fileset>
</path>
</project>
但是我收到了这个错误
run:
[java] Error: Could not find or load main class ForDemo
BUILD FAILED
当我 运行 在我的 Linux Mint 17.1 x64 with oracle jdk 1.8b40.
上 java 文件命令的父目录中蚂蚁时您没有将 javac 任务的输出目录 ("."
) 包含在 java 任务的 class 路径中,因此 ForDemo
class 当 java 执行时,您在那里编译的 class 不在 class 路径上。
您可以像这样在 java 任务中包含该目录:
<classpath>
<pathelement path="${classpath.base}"/>
<pathelement location="."/>
</classpath>