简体   繁体   English

使用Ant构建Struts应用程序时出错

[英]Error while building Struts Application using Ant

When trying to build my Struts Application, I get the following error : 尝试构建Struts应用程序时,出现以下错误:

compile:
    [javac] /media/Data/Struts 2/2012-05-02/Struts/src/Build.xml:5: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files
    [javac] MyAction.java:5: package org.apache.struts2.interceptor does not exist
    [javac] import org.apache.struts2.interceptor.SessionAware;
    [javac]                                      ^
    [javac] MyAction.java:7: package com.opensymphony.xwork2 does not exist
    [javac] import com.opensymphony.xwork2.ActionSupport;
    [javac]                               ^
    [javac] MyAction.java:10: cannot find symbol
    [javac] symbol: class ActionSupport
    [javac] public class MyAction extends ActionSupport implements SessionAware {
    [javac]                               ^
    [javac] MyAction.java:10: cannot find symbol
    [javac] symbol: class SessionAware
    [javac] public class MyAction extends ActionSupport implements SessionAware {
    [javac]                                                        ^
    [javac] MyAction.java:22: cannot find symbol
    [javac] symbol  : method addActionError(java.lang.String)
    [javac] location: class com.sp.action.MyAction
    [javac]         addActionError("invalid");
    [javac]         ^
    [javac] MyAction.java:47: cannot find symbol
    [javac] symbol  : method addActionError(java.lang.String)
    [javac] location: class com.sp.action.MyAction
    [javac]             addActionError("User Name ,pass cannot be error");
    [javac]             ^
    [javac] MyAction.java:43: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac] 7 errors

BUILD FAILED

My package hierarchy is src/com/sp/action/*.java and src/com/sp/domain/*.java 我的包层次结构是src/com/sp/action/*.javasrc/com/sp/domain/*.java

My build file is as follows : 我的构建文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="strutsComple" default="compile">
    <target name="compile">
        <fileset dir="/media/Data/Works/struts-2.3.1.2/lib/" includes="*.jar"/>
        <javac srcdir="./com/sp/"/>
    </target>
</project>

I have already added the two required jars to my Eclipse folder. 我已经将两个必需的jar添加到我的Eclipse文件夹中。

Can someone please point me towards what I am missing ? 有人可以指出我想念的东西吗?

Your ant build file is too simple. 您的ant构建文件简单了。 Importing the struts jars into eclipse does nothing for your ant build. 将struts jars导入eclipse对您的蚂蚁构建没有任何帮助。 You need to configure a classpath for javac in build.xml. 您需要在build.xml中为javac配置一个类路径。

<fileset dir="/media/Data/Works/struts-2.3.1.2/lib/" includes="*.jar"/>
<javac srcdir="./com/sp/"/>

should become 应该成为

<javac srcdir="./com/sp/">
    <classpath>
        <fileset dir="/media/Data/Works/struts-2.3.1.2/lib/" includes="*.jar"/>
    </classpath>
</javac>

See this answer for another example Getting Ant <javac> to recognise a classpath 请参阅此答案以获得另一个示例, 让Ant <javac>识别类路径

See also the doc for the javac task. 另请参阅javac任务的文档。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM