蚂蚁构建给出包不存在错误



我在 Linux 上使用 ant build 函数来编译一个 java 程序。我有三个java文件,我正在尝试将它们导入我的主文件.java但是我收到一个错误,说

/home/ggaz1/Ser321/Assigns/Assign2/src/main.java:4 error: package Assign2.src does not exist 

这是 build.xml 文件。它的路径是

/home/ggaz1/Ser321/Assigns/Assign2
<?xml version="1.0"?>
<project name="Movie Library."
         default="targets" basedir="."
         xmlns:dn="antlib:org.apache.ant.dotnet"
         xmlns="antlib:org.apache.tools.ant"
         xmlns:cpptasks="antlib:net.sf.antcontrib.cpptasks">
   <property name="src.dir" value="src"/>
   <property name="build" value="classes"/>
   <property environment="env"/>
   <property name="user" value="${env.USERNAME}"/>
   <target name="targets">
      <echo message="Targets are clean, prepare, build, execute, and targets"/>
   </target>
   <path id="compile.classpath">
      <pathelement location="${build}"/>
   </path>
   <target name="prepare">
      <mkdir dir="${build}" />
   </target>
   <target name="clean">
      <delete dir="${build}" failonerror="false"/>
   </target>
   <target name="build" depends="prepare">
      <javac srcdir="${src.dir}"
             includeantruntime="false"
             destdir="${build}">
        <src path="src"/>
         <classpath refid="compile.classpath"/>
      </javac>
   </target>
   <target name="execute.java" depends="build"
           description="Run the program">
         <echo message="command line execute: java -cp classes main, MovieDescription, MovieLibrary" />
         <java classname="main" fork="yes">
           <classpath refid="compile.classpath"/>
         </java>
   </target>
</project>

提前致谢

你实际上没有任何包。所有 Java 源代码文件都位于 src 文件夹中。src 文件夹是包的根目录。如果你想要一个包assign2你必须在src中创建一个名为assign2的文件夹,你应该把属于assign2包的所有Java文件放到该文件夹中。

假设您的Main类本身没有包,并且您的类MovieDescriptionMovieLibrary在包assign2中。

然后,您的文件布局应如下所示:

--src
   |
   +---- Main.java
   |
   +---- assign2
            |
            +---- MovieDescription.java
            |
            +---- MovieLibrary.java

然后Main.java没有任何包声明。

MovieDescription.javaMovieLibrary.java包声明应该是:

package assign2;
[...]

Main.java中的进口看起来像:

import assign2.MovieLibrary;
import assign2.MovieDescription;

也许你应该看看Oracle Java教程,课程:包。

根据 Java 命名约定,对于包和变量,您应该只使用以小写字母开头的名称。类应始终以大写字母开头。

相关内容

  • 没有找到相关文章

最新更新