如何从多个包创建单个罐子?



我想从多个包创建一个jar文件。我使用以下命令创建了jar,但是当我将其作为依赖项导入项目时,它不起作用。

jar cfe output/jar/my-java.jar Main src/pkg1/pkg0/*.class src/pkg1/*.class src/pkg2/*.class

我的项目结构类似于下面的结构

src
pkg1
A.java
B.JAVA
pkg0
E.java
pkg2
C.java
D.java

我的示例代码类似于

import pkg1.A;
public class Main {
public static void main(String[] args) {
A.printMe("Hello World");
}
}

我得到的错误是:

Java PKG1 不存在 但是在编辑器(IntelliJ(中,它没有显示错误,而且我可以导入类但不能导入包。

  • 导入 pkg1:显示红色表示编辑器中的错误
  • 导入 pkg1。A:不显示红色表示编辑器没有错误

注意:我不想使用 maven。

unzip -t something.jar显示 jar 文件 (zip( 的实际文件结构。它与它的类结构相同(除了"/","."是分隔符(。

在您的情况下,问题将是src将位于顶层,而不是pkg1.要么导入src.pkg1(很脏(,要么用目录/jar 标志多玩一点。

只要将你的方法称为自动获取路径,如果你正确地将你的jar放在你当前的项目中。

pkg com.test.demo
class test{
public static void m1(){
System.out.println("project 1 in method 1 );
}
}
in project 2 put jar of project 1
pkg com.test.demo
class Test1{
public static void main(String...){
System.out.println(test.m1())
}

}

最新更新