我想从多个包中创建一个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)中,它没有显示错误,并且我也能够导入类而不是包。
注意:我不想使用Maven。
答案 0 :(得分:2)
unzip -t something.jar
显示了jar文件(zip)的实际文件结构。它与它的类结构相同(除了用“ /
”代替,而用“ .
”作为分隔符)。
在您的情况下,问题将是src
位于顶层,而不是pkg1
。要么导入src.pkg1
(非常脏),要么使用目录/ jar标志更多播放。
答案 1 :(得分:0)
如果将jar正确放置在当前项目中,只需调用方法自动获取路径。项目1
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())
}
}