Java 包/路径/导入逻辑问题
我有一个家庭作业项目的问题,我们正在创建一个类似MVC的类包。使用Debian9.x.x虚拟机,我们将使用ant文件来构建/编译/执行 我包括一个屏幕截图的整体目录结构的规定,以及源目录结构的规定 我们特别希望在结构中有一个源文件: 考虑到这一点,我们应该将源文件打包为ser321.assign3.kajeffr1.client。我曾尝试将其作为相对路径(我认为这没有意义,因为本地路径不包括类包路径中所需的内容)和绝对路径。然而,我的班级似乎彼此不认识。我得到以下错误 我的理解是,包路径并不重要,因为它可以编译到它想要的地方。我尝试从其他类导入,但似乎没有帮助,更不用说它们都在同一个目录中,所以我不知道为什么其他类似乎看不到消息。我包括build.xml和源文件的开头,因为我的错误似乎是在打包/导入中,但是如果需要其余的代码,我也可以提供 build.xml:Java 包/路径/导入逻辑问题,java,linux,ant,debian,Java,Linux,Ant,Debian,我有一个家庭作业项目的问题,我们正在创建一个类似MVC的类包。使用Debian9.x.x虚拟机,我们将使用ant文件来构建/编译/执行 我包括一个屏幕截图的整体目录结构的规定,以及源目录结构的规定 我们特别希望在结构中有一个源文件: 考虑到这一点,我们应该将源文件打包为ser321.assign3.kajeffr1.client。我曾尝试将其作为相对路径(我认为这没有意义,因为本地路径不包括类包路径中所需的内容)和绝对路径。然而,我的班级似乎彼此不认识。我得到以下错误 我的理解是,包路径并不
<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 { ... }