[英]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
類本身沒有包,而MovieDescription
和MovieLibrary
類都位於包assign2
。
然后,您的文件布局應如下所示:
--src
|
+---- Main.java
|
+---- assign2
|
+---- MovieDescription.java
|
+---- MovieLibrary.java
然后Main.java
沒有任何包聲明。
我的MovieDescription.java
和MovieLibrary.java
包聲明應為:
package assign2;
[...]
而且Main.java
的導入看起來像:
import assign2.MovieLibrary;
import assign2.MovieDescription;
也許您應該看一下《 Oracle Java教程,課程:軟件包》 。
並且根據Java命名約定,對於包和變量,僅應使用以小寫字母開頭的名稱。 類應始終以大寫字母開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.