首页 > 解决方案 > 编译使用 jar 存档的 Java 文件时出现错误“包不存在”

问题描述

我在终端中使用它创建了 jar 存档jar -cf bjamee.jar bjamee。然后我将这个 jar 存档移动到我的 Java 文件所在的目录中。

import bjamee.GameObject;

public class MyGame {

    public static void main(String[] args) {
        
    }

}

GameObject.class存在于 jar 档案中。所以编译MyGame.java我使用javac -cp /bajamee.jar: MyGame.java了,但我得到了这个错误。你知道我在哪一步做错了吗?

在此处输入图像描述

我的 Java 文件和 jar 存档位于同一目录中。

在此处输入图像描述

这是我使用时的错误javac -cp bjamee.jar: MyGame.java

在此处输入图像描述

标签: java

解决方案


尝试使用javac -cp .:/bajamee.jar: MyGame.java.

希望能帮助到你

编辑 我复制了类似的东西。

所以我有com.company.Main哪个是进口的bjamee.GameObject

package com.company;
 import bjamee.GameObject;
 
 public class Main {
 
     public static void main(String[] args) {
         System.out.println("test");
     }
 }

编译错误,因为当前文件夹中未提供 bjame/GameObject.class。

» javac -cp .:/bjamee.jar Main.java                                                                                              03:01:49
Main.java:2: error: package bjamee does not exist
import bjamee.GameObject;
             ^
1 error
» cp -r ../../bjamee .

» tree                                                                                                                           03:04:08
.
├── bjamee
│   ├── GameObject.class
│   └── GameObject.java
└── com
    └── company
        ├── bjamee
        │   ├── GameObject.class
        │   └── GameObject.java
        ├── bjamee.jar
        ├── Main.class
        └── Main.java

4 directories, 7 files

» ls
  bjamee/  bjamee.jar  Main.class  Main.java

» javac -cp .:/bjamee.jar Main.java


推荐阅读