为什么在使用 "ant" 命令 build.xml 时出现导入错误?
Why am I getting import errors while using "ant" command build.xml?
我在包含 build.xml 的目录中使用 'ant' 命令,但导入语句时出现错误。当它到达这一行时,
<!-- compile.gui -->
<target name="compile.gui" depends="test.properties,compile.api">
<javac srcdir="${src}" destdir="${build.classes}"
classpathref="gui.class.path" debug="on" target="1.8" includeantruntime="false">
<include name="eu/lt4el/gui/**" />
</javac>
</target>
它引用了一个 java 文件
package eu.lt4el.gui;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import eu.lt4el.common.DocumentStatus;
import eu.lt4el.AppInterface;
import eu.lt4el.defcontext.Definition;
import org.apache.log4j.Logger;
public class LTStartPage extends HttpServlet
{ . . . .
我在尝试编译 java 文件时遇到以下错误:
compile.gui:
[javac] Compiling 1 source file to /home/ufuoma/Downloads/ltserver/build/classes
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:3: error: package javax.servlet does not exist
[javac] import javax.servlet.*;
[javac] ^
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:4: error: package javax.servlet.http does not exist
[javac] import javax.servlet.http.*;
[javac] ^
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:13: error: cannot find symbol
[javac] public class LTStartPage extends HttpServlet
[javac] ^
[javac] symbol: class HttpServlet
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:17: error: cannot find symbol
[javac] protected HttpSession session;
[javac] ^
[javac] symbol: class HttpSession
[javac] location: class LTStartPage
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:33: error: cannot find symbol
...
...
[javac] 17 errors
BUILD FAILED
/home/ufuoma/Downloads/ltserver/build.xml:305: Compile failed; see the compiler error output for details.
我安装了 Tomcat 和 JRE 8,我是 运行 Ubuntu,但构建失败。我不知道为什么我有错误。
谢谢
编辑*
class路径在build.xml文件中定义如下:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/common/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
就运行:
$ export CATALINA_HOME=/opt/tomcat
$ ant
class路径需要根据我的安装参数正确设置。
它是:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/common/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
我的 Tomcat 安装没有 /common
。所以将其更改为:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
已解决问题。
我在包含 build.xml 的目录中使用 'ant' 命令,但导入语句时出现错误。当它到达这一行时,
<!-- compile.gui -->
<target name="compile.gui" depends="test.properties,compile.api">
<javac srcdir="${src}" destdir="${build.classes}"
classpathref="gui.class.path" debug="on" target="1.8" includeantruntime="false">
<include name="eu/lt4el/gui/**" />
</javac>
</target>
它引用了一个 java 文件
package eu.lt4el.gui;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import eu.lt4el.common.DocumentStatus;
import eu.lt4el.AppInterface;
import eu.lt4el.defcontext.Definition;
import org.apache.log4j.Logger;
public class LTStartPage extends HttpServlet
{ . . . .
我在尝试编译 java 文件时遇到以下错误:
compile.gui:
[javac] Compiling 1 source file to /home/ufuoma/Downloads/ltserver/build/classes
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:3: error: package javax.servlet does not exist
[javac] import javax.servlet.*;
[javac] ^
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:4: error: package javax.servlet.http does not exist
[javac] import javax.servlet.http.*;
[javac] ^
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:13: error: cannot find symbol
[javac] public class LTStartPage extends HttpServlet
[javac] ^
[javac] symbol: class HttpServlet
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:17: error: cannot find symbol
[javac] protected HttpSession session;
[javac] ^
[javac] symbol: class HttpSession
[javac] location: class LTStartPage
[javac] /home/ufuoma/Downloads/ltserver/src/eu/lt4el/gui/LTStartPage.java:33: error: cannot find symbol
...
...
[javac] 17 errors
BUILD FAILED
/home/ufuoma/Downloads/ltserver/build.xml:305: Compile failed; see the compiler error output for details.
我安装了 Tomcat 和 JRE 8,我是 运行 Ubuntu,但构建失败。我不知道为什么我有错误。 谢谢
编辑* class路径在build.xml文件中定义如下:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/common/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
就运行:
$ export CATALINA_HOME=/opt/tomcat
$ ant
class路径需要根据我的安装参数正确设置。 它是:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/common/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
我的 Tomcat 安装没有 /common
。所以将其更改为:
<!-- class path for gui -->
<path id="gui.class.path">
<pathelement path="${env.CATALINA_HOME}/lib/servlet-api.jar"/>
<pathelement path="${lib}/log4j-1.2.14.jar"/>
</path>
已解决问题。