簡體   English   中英

ant build給程序包不存在錯誤

[英]ant build gives package does not exist error

我在Linux上使用ant build函數來編譯Java程序。 我有三個Java文件,正在嘗試將它們導入到main.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命名約定,對於包和變量,僅應使用以小寫字母開頭的名稱。 類應始終以大寫字母開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM