gpt4 book ai didi

java - 如果包名称不同,则无法从导入的 jar 中调用方法

转载 作者:行者123 更新时间:2023-12-01 18:16:17 27 4
gpt4 key购买 nike

我在P1包下的类C1中有一个方法M1,它位于名为JP1的Java项目下>。我能够成功导出 jar 文件,没有任何问题。

将jar文件添加到另一个项目的类路径后,我尝试调用名为JP2的Java项目下的包P2下的方法M1,但由于某种原因,我无法找到方法“M1”,因为包名称 P1 和 P2 不同,如果我将 P2 包名称保留为 P1,那么我可以调用 M1 方法

  1. 包名不同如何调用方法?

注意:我在 Eclipse 中导出 jar 文件没有任何问题。

最佳答案

这意味着要么是方法,要么是该方法所在的类(或者如果该类在另一个类中,则该类,一直到您到达顶级类;一个是内部最顶层的类)它自己的源文件)未标记为public。如此标记它们;您已明确告诉 java 您不希望该构造在包外部可见。

所以,你有这个:

class MyClass {
public void foo() {}
}

或者这个:

public class MyClass {
void foo() {}
}

(或组合;类和方法都不是公共(public)的)。你需要这个:

public class MyClass {
public void foo() {}
}

关于java - 如果包名称不同,则无法从导入的 jar 中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60358660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com