java - 编译使用 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
。
解决方案
尝试使用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
推荐阅读
- spring-boot - App 引擎上的 Spring Cloud Gateway 未将请求路由到下游服务
- mulesoft - 在 Azure devops 上部署项目时 Munit 不工作,但它在 APS 中工作?
- azure - Azure 存储队列触发器 - 使用远程队列名称
- c# - 如何在互联网上显示来自 json url 的图像
- android - 颤振我如何检查电池健康状况
- android - java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2InternalException
- python - STL 到点云
- math - 状态图,计算这些函数后的值
- sql - SQL:自动编号
- python - += 在python中将numpy数组添加到标量时的行为