【问题标题】:Packages and Classpath包和类路径
【发布时间】:2018-08-23 00:07:56
【问题描述】:

我按照以下方式创建了一个包,并将Simple1.java文件存放在d:\p\javas

Simple1.java

package mypack;
public class Simple1
{
    public static void display()
    {
        System.out.println("Welcome to package");
    }
}

我使用 -d 开关编译它: d:\p\javas> javac -d d:\p\notes Simple1.java

我在 D 盘的 P\Notes 文件夹下找到了 mypack 包。

我想为这个包设置一个永久的类路径,这样我就可以从系统中的任何地方访问它,我尝试使用环境变量这样做。

现在,当我尝试将此包导入存储在我系统中另一个位置的另一个文件中时,使用:

导入 mypack.*;

并尝试访问 Simple1.class 文件,我得到错误。

新建java文件的代码为:

packDemo.java

import mypack.*;
class packDemo
{
    public static void main(String arg[])
    {
        Simple1 s= new Simple1();
        s.display();
    }
}

能否请您帮我解决这个问题,并请告诉我设置类路径的确切方法。 我想为我用来存储 .java 文件的两个位置设置永久类路径。

【问题讨论】:

  • 您遇到了什么样的错误?请更清楚地提出您的问题!
  • 报错说:packDemo.java:1 错误:包mypack不存在
  • 你没有正确设置类路径尝试检查你的环境变量,如果可能的话在这里发帖
  • 这是你必须使用的命令 set CLASSPATH=your path;
  • 好的!我在 mypack 的环境变量中的系统变量下创建了一个 Classpath 变量:D\P\Notes,现在 packDemo.java 已编译,但在尝试执行它时我再次收到错误消息:无法找到或加载主类packDemo

标签: java package classpath


【解决方案1】:

1.Simple1.class 文件存放在下面的目录下就可以了

d:\p\notes

2.在环境变量中设置classpath如下

variable:ClASSPATH
value:d:\p\notes

3.现在导航到 packDemo.java 文件夹使用下面的开关编译 packDemo.java

javac packDemo.java  

4.运行.class文件

java packDemo

这将正常工作,没有任何问题

【讨论】:

  • 是的,我也是这样做的,直到第 3 步都运行良好,但是当我运行 .class 文件时,我再次收到错误:无法找到或加载主类 packDemo
  • 在设置环境变量值的时候,你在最后加分号吗?
  • 实际上我已经在用户变量下创建了CLASSPATH变量,因为它以前不存在,并且变量值只包含单个路径,所以我最初没有给出分号
  • 当我在类路径中添加分号时,我的文件现在无法编译,它找不到打包的类。
  • 没有必要,但尝试放置和编译。您的问题是类路径,这意味着它设置不好,因为您收到以下错误“无法找到或加载主类”
猜你喜欢
  • 2011-12-13
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多