2017-07-20 29 views
0

我在包含build.xml的目录中使用'ant'命令,但是我收到导入语句的错误。当它进入这一行,为什么我在使用“ant”命令build.xml时遇到导入错误?

<!-- 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,但构建失败。我不知道我为什么要犯错误。 感谢

编辑* 类路径被定义为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> 
+0

在你的build.xml文件中,变量'gui.class.path'没有Java servlet库,或者它指向一个不存在的路径。没有更多的细节,我们可以告诉。 – stdunbar

+0

我是否为build.xml文件提供了所有代码? – TheSolider

+0

如何在build.xml中定义'gui.class.path'?我们不需要整个build.xml文件,但您需要了解它是如何定义的以及它是否依赖于其他文件。例如,您可能正在从另一个文件(有时称为build.properties)加载属性。 – stdunbar

回答

0

需要设置正确根据到类路径我的安装参数。 它是:

<!-- 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> 

修复了这个问题。

1

只要运行:

$ export CATALINA_HOME=/opt/tomcat 
$ ant 
+0

并运行“$ CATALINA_HOME/bin/startup.sh”,我得到以下内容:使用CATALINA_BASE:/ opt/tomcat 使用CATALINA_HOME:/ opt/tomcat 使用CATALINA_TMPDIR:/ opt/tomcat/temp 使用JRE_HOME:/ usr/lib/jvm/java-8 -openjdk-amd64 使用CLASSPATH:/opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar Tomcat已启动。 – TheSolider

+0

对不起 - 我的错字 - 我修好了。但它看起来像你的Ubuntu不在正常的地方,所以我也更新了答案。 – stdunbar

+0

前段时间我实际上运行了“export CATALINA_HOME =/opt/tomcat”。它工作正常。但是当我运行“蚂蚁”时,我仍然得到相同的错误。 – TheSolider

相关问题