有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    我不确定这是否是唯一的问题,但在包声明和导入中,必须编写完整的包路径,比如com。名称包裹x