java导包编译运行报错
伊谢尔伦
伊谢尔伦 2017-04-18 09:55:47
[Java讨论组]
import com.a;
import com.b;
public class c {
}

c类中导入了两个a,b两个类,其中b类跟c类在同一个工程下,a类在已经打好的jar包中。
现在把b,c所在的工程进行打包,并把打好的jar包放在跟a所在的jar包同一个目录下,但是运行项目时报错是找不到a类,想知道具体的导包、编译、运行过程。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
高洛峰

Java 包和路径是严格对应的关系,按你提供的信息,你的目录结构应该是这样的

workspace
    com
        A.java
        B.java
        C.java

然后在 A,B,C 中都需要申明 package com;

// @A.java
package com;

public class A {
}
// @B.java
package com;

public class B {
}
// @C.java
package com;

import com.A;
import com.B;

public class C {
    A a;
    B b;

    public static void main(String[] args) {
        System.out.println("Hello C");
    }
}

编译可以随便在哪个目录下执行 javac 命令,但执行的时候一定要在 com 目录的父级目录下,也就是上例中的 workspace 目录

c:\workspace> java com.C

如果你分别打成 jar 包的,则需要在 java 命令中用 -classpath 加入 jar 包

C:\workspace> java -classpath a.jar;b.jar;c.jar com.C
伊谢尔伦

你的代码的问题:

  1. 类名应该首字母大写

  2. 执行的时候classpath是否包含了a和b各自的jar

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号