java导入编译为jar的包:坏的类文件,类文件包含错误的类,包不存在错误
我创建了一个包,并使用ant将其编译成jar文件
文件结构是这样的
project folder
x_package
compiled package_x.jar
com
name
package_x
Package files
demos
src
files I'm trying to compile
我试图在demos/src下编译依赖于已编译包_x.jar的文件
为此,我将包_x.jar作为javac任务的参数添加到类路径中
Javac任务
<javac destdir = "${build.dir}" source = "${ant.java.version}" target = "${ant.java.version}"
debug = "true" deprecation = "false" optimize = "false" failonerror = "true" >
<src path = "${source.dir}" />
<classpath refid = "master-classpath"/>
</javac>
主类路径
<path id = "master-classpath" >
<fileset dir = "${classpath.dir}" >
<include name = "*.jar" />
</fileset>
<pathelement path = "${classpath.dir}" />
</path>
每当我运行ant文件时,都会发生两个错误
error: package package_x does not exist
在第一次引用包中定义的类时
error: Cannot access class_name
bad class file C:/(path)/package_x.jar (class_name)
class file contains wrong class: package_x.class_name
please remove or make sure it appears in the correct subdirectory of the classpath
在package_x包中,每个文件都以
package package_x;
/*code*/
演示目录中的文件
import package_x.*;
/*code*/
有什么建议吗
# 1 楼答案
我不确定这是否是唯一的问题,但在包声明和导入中,必须编写完整的包路径,比如com。名称包裹x