我正在尝试使用Ant将Web应用程序打包到war文件中。
构建时,出现以下错误:
C:\Documents and Settings\Administrator\workspace\Assignment7\build.xml:67: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre6"
以下是我的build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="Generate War" default="install" basedir=".">
<property name="build.dir" value="build"/>
<property name="dir.name" value="Assignment7"/>
<property name="package.name" value="${dir.name}.war"/>
<property name="content" value="webContent"/>
<property name="web-inf" value="${content}\WEB-INF"/>
<property name="meta-inf" value="${content}\META-INF"/>
<property name="jsp.dir.name" value="${content}"/>
<property name="lib" value="${web-inf}\lib"/>
<property name="src" value="src"/>
<property name="dest.dir" value="target"/>
<!-- Setting path to the server webapp folder -->
<property name="webapp.dir" value="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps"/>
<!-- Using temp folder for convinence -->
<property name="temp.dir" value="temp"/>
<property name="temp.dir.web-inf" value="${temp.dir}\WEB-INF"/>
<property name="temp.dir.meta-inf" value="${temp.dir}\META-INF"/>
<property name="temp.dir.lib" value="${temp.dir.web-inf}\lib"/>
<property name="temp.dir.classes" value="${temp.dir.web-inf}\classes"/>
<!--<property name="temp.dir.classes.dir" value="${temp.dir.classes}\**"/>-->
<property name="package.file" value="${dest.dir}\${package.name}"/>
<path id="build.class.path">
<fileset dir="${lib}">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="build.class.path1">
<fileset dir="C:\program files\java\jre6\lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="clean">
<delete>
<fileset dir="${dest.dir}" includes="**/*"/>
</delete>
<delete dir="${temp.dir}"/>
<delete dir="${temp.dir.classes}"/>
<delete dir="${temp.dir.web-inf}"/>
<delete dir="${temp.dir.meta-inf}"/>
</target>
<target name="prepare" depends="clean">
<mkdir dir="${dest.dir}"/>
<mkdir dir="${temp.dir}"/>
<mkdir dir="${temp.dir.web-inf}"/>
<mkdir dir="${temp.dir.lib}"/>
<mkdir dir="${temp.dir.classes}"/>
<mkdir dir="${temp.dir.meta-inf}"/>
</target>
<target name="compile" depends="prepare">
<echo>==="complie"===</echo>
<javac srcdir="${src}" destdir="${temp.dir.classes}" debug="on">
<classpath refid="build.class.path"></classpath>
</javac>
<!--<copydir src="${build.dir}\classes" dest="${temp.dir.classes}"/>-->
</target>
<target name="package" depends="compile">
<echo>"PACKAGING THE FILES"</echo>
<copy file="${meta-inf}\MANIFEST.MF" tofile="${temp.dir.meta-inf}\MANIFEST.MF" overwrite="true"/>
<copy file="${web-inf}\web.xml" tofile="${temp.dir.web-inf}\web.xml" overwrite="true"/>
<copy file="${web-inf}\tiles.xml" tofile="${temp.dir.web-inf}\tiles.xml" overwrite="true"/>
<copy todir="${temp.dir.classes}">
<fileset dir="${src}">
<include name="**/*.xml"/>
</fileset>
</copy>
<war destfile="${package.file}" webxml="${temp.dir.web-inf}\web.xml" basedir="${temp.dir}">
<fileset dir="${jsp.dir.name}"/>
<lib dir="${lib}"></lib>
<classes dir="${temp.dir.classes}"></classes>
</war>
</target>
<target name="jsps">
<copy todir="${webapp.dir}\${dir.name}">
<fileset dir="${content}">
<include name="**/*.jsp"/>
<include name="**/*.html"/>
<include name="**/*.css"/>
<include name="**/*.gif"/>
<include name="**/*.jpg"/>
<include name="**/*.png"/>
<include name="**/*.js"/>
</fileset>
</copy>
</target>
<target name="install" depends="package">
<copy file="${package.file}" todir="${webapp.dir}" overwrite="true"/>
</target>
</project>
如何编译没有主类的类文件?
如何设置课程路径?
作为参考,我正在使用Eclipse。
除了需要在JDK的/
lib目录中的tools.jar的javac任务以外,所有您的蚂蚁工具都可以正常工作,在这种情况下,JRE是不够的。因此,来自ant的提示是:“无法找到javac编译器;
…”
使用Eclipse时,默认设置指向您的JRE安装。
因此,首次启动Eclipse之后的第一步是:
Window > Preferences > Java > Installed JREs
将设置从JRE更改为JDK。
或者使用:
Window > Preferences > Ant > Runtime > Classpath > Global Entries
并从JDK / lib文件夹添加tools.jar
我在Eclipse中pom.xml中收到错误消息。 http://Maven.apache.org/Maven-v4_0_0.xsd“>4.0.0com.hmis chmis war 1.0-快照chmis Maven Webapp http://Maven.apache.org 这是我的pom.xml。当我运行该程序时,会出现如下错误。
问题内容: 我试图得到以下消息: 好吧,有一个开放的jdk,我也下载了另一个。我尝试将JAVA_HOME指向两者,现在已设置: 我还尝试选择其中一种打开方式,但是其中的不同jdk版本出现相同的错误。 我该如何解决?提前致谢。 问题答案: 似乎您的PATH未正确选择…“ echo $ PATH”的输出是否包含javac所在的目录?我建议如下: 打开终端并执行: 如果javac -version仍然不
问题:无法使用带有JDK 1.8的Jenkins构建Spring maven项目 描述:我使用Jenkins构建我的Spring项目,由Maven管理。我已经使用JDK安装选项在Jenkins中配置了Java 1.7和1.8。当在构建配置中选择Java 1.7并运行构建时,构建过程是成功的。但当我在构建配置中选择Java 1.8并运行构建时,构建过程会失败。 下面是 jenkins 控制台输出**
我有一个爪哇项目。它由以下层次结构组成: 项目: < li >服务器(包含server.java) < li >客户端(包含client.java) < li >协议(包含中的消息类型。java文件) 我正在用Eclipse运行这个项目。我已经到了需要用终端测试的地步。我如何使用 build.xml 文件来格式化它,以便每当我将其从 Eclipse 中取出并在服务器中运行时,它都能正常工作,但在上
问题内容: 我正在运行Windows 8,但无法使javac正常工作。 我已将环境变量中的PATH设置为 我尝试过是否使用’;’ 但无济于事。 我最近在桌面上添加了这个问题;工作,但不是这种情况。 我确保javac确实也存在于bin中。 关于修复的任何建议将不胜感激。 编辑echo%PATH%给出: 确切的错误是:无法将“ javac”识别为内部或外部命令,可操作程序或批处理文件。 问题答案: 至
我运行的是Windows 8,无法让javac运行。 我把环境变量中的路径设置为 我试过带和不带';'但没有用。 最近,我的桌面上出现了这个问题,并添加了:;成功了,但这次不是。 我已经确保javac也存在于垃圾箱中。 如有任何修复建议,将不胜感激。 编辑回声%PATH%给出: 确切的错误是:“javac”不能被识别为内部或外部命令、可操作程序或批处理文件。