导入编译为 jar 的包:Bad class file,class file contains wrong class and package does not exist 错误
Importing package compiled as jar: Bad class file, class file contains wrong class and package does not exist error
我有一个我创建的包,并使用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 下的文件,这些文件依赖于已编译的 package_x.jar
我通过将 package_x.jar 添加到 class 路径作为 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>
master-classpath
<path id = "master-classpath" >
<fileset dir = "${classpath.dir}" >
<include name = "*.jar" />
</fileset>
<pathelement path = "${classpath.dir}" />
</path>
每当我 运行 ant 文件时,都会发生 2 个错误
error: package package_x does not exist
并且在第一次引用包中定义的 class 时
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*/
并且demos目录下的文件有
import package_x.*;
/*code*/
感谢任何建议
我不确定这是不是唯一的问题,但是在包声明和导入中你必须写完整的包路径,比如 com.name.package_x
我有一个我创建的包,并使用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 下的文件,这些文件依赖于已编译的 package_x.jar
我通过将 package_x.jar 添加到 class 路径作为 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>
master-classpath
<path id = "master-classpath" >
<fileset dir = "${classpath.dir}" >
<include name = "*.jar" />
</fileset>
<pathelement path = "${classpath.dir}" />
</path>
每当我 运行 ant 文件时,都会发生 2 个错误
error: package package_x does not exist
并且在第一次引用包中定义的 class 时
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*/
并且demos目录下的文件有
import package_x.*;
/*code*/
感谢任何建议
我不确定这是不是唯一的问题,但是在包声明和导入中你必须写完整的包路径,比如 com.name.package_x