Java 包/路径/导入逻辑问题

Java 包/路径/导入逻辑问题,java,linux,ant,debian,Java,Linux,Ant,Debian,我有一个家庭作业项目的问题,我们正在创建一个类似MVC的类包。使用Debian9.x.x虚拟机,我们将使用ant文件来构建/编译/执行 我包括一个屏幕截图的整体目录结构的规定,以及源目录结构的规定 我们特别希望在结构中有一个源文件: 考虑到这一点,我们应该将源文件打包为ser321.assign3.kajeffr1.client。我曾尝试将其作为相对路径(我认为这没有意义,因为本地路径不包括类包路径中所需的内容)和绝对路径。然而,我的班级似乎彼此不认识。我得到以下错误 我的理解是,包路径并不

我有一个家庭作业项目的问题,我们正在创建一个类似MVC的类包。使用Debian9.x.x虚拟机,我们将使用ant文件来构建/编译/执行

我包括一个屏幕截图的整体目录结构的规定,以及源目录结构的规定

我们特别希望在结构中有一个源文件:

考虑到这一点,我们应该将源文件打包为ser321.assign3.kajeffr1.client。我曾尝试将其作为相对路径(我认为这没有意义,因为本地路径不包括类包路径中所需的内容)和绝对路径。然而,我的班级似乎彼此不认识。我得到以下错误

我的理解是,包路径并不重要,因为它可以编译到它想要的地方。我尝试从其他类导入,但似乎没有帮助,更不用说它们都在同一个目录中,所以我不知道为什么其他类似乎看不到消息。我包括build.xml和源文件的开头,因为我的错误似乎是在打包/导入中,但是如果需要其余的代码,我也可以提供

build.xml:

    <project name="Ser321 Spring 2019 Assign2" default="targets" basedir=".">
    <!-- set global properties for this build -->

    <property name="src" value="./src" />
    <property name="build" value="./classes" />
    <property name="docs" value="./docs" />
    <property name="lib" value="./lib" />
    <property name="userId" value="kajeffr1" />
    <property name="parentDir" value="${user.dir}${file.separator}" />
    <path id="compile.classpath">
    <pathelement location="${build}/"/>
    <fileset dir="${lib}">
    <include name="*.jar"/>
    </fileset>
    </path>
    <target name="targets">
       <echo message="targets are clean, prepare, compile, and execute. "/>
    </target>

    <target name="prepare">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <echo message="home defined as: ${home}" />
    <mkdir dir="${build}" />
    </target>
    <target name="compile" depends="prepare"
    description="Compile Java sources">
    <javac srcdir="${src}/client"
    includeantruntime="false"
    destdir="${build}">
    <classpath refid="compile.classpath"/>
    </javac>
    </target>
    <target name="execute" depends="compile"
    description="execute the execute mail client">
    <java classname="ser321.assign2.kajeffr1.client.MessageController"
    fork="yes">
    <arg value="kajeffr1"/> 
    <arg value="localhost:8080"/> 
    <classpath refid="compile.classpath"/>
    </java>
    </target>

    <target name="clean">
    <!-- Delete the ${build} and ${docs} directory trees -->
    <delete dir="${build}" />
    </target>
    </project>
MessageLibary.java:

    package ser321.assign2.kajeffr1.src.client;

    public interface MessageLibrary { ... }
MessageLibraryImpl.java:

    package ser321.assign2.kajeffr1.src.client;

    import org.json.*;
    import java.io.*;
    import java.util.*;

    public class MessageLibraryImpl implements Serializable, MessageLibrary { ... }
MessageController.java:

    package ser321.assign2.kajeffr1.src.client;

    //other java imports

    public class MessageController extends MessageGui //MessageGUI is provided in jar files { ... }

ant文件正在构建“classes”文件,但未能编译任何内容。

我只是在Message.java中缺少了“.src.”。我不敢相信我错过了多少次。

请显示代码和/或说明错误。请不要使用指向图像的链接。这个问题缺少正文。图片上的文字太小,有些人看不懂。搜索引擎无法为将来的访问者索引图像上的文本。也看到
    package ser321.assign2.kajeffr1.src.client;

    //other java imports

    public class MessageController extends MessageGui //MessageGUI is provided in jar files { ... }