我有一个项目“A”,我需要从另一个项目“B”调用一个“c”类。
我做了以下事情。点击“A” - >属性 - >构建路径 - >在Java Source的一个选项卡中,我选择了项目B. - >接受
现在我可以创建类“c”的objets但是当我运行项目时,我得到“ClassNotFoundException”
更新
我不断收到java.lang.ClassNotFoundException。
在“JSF”中 - >属性 - >构建路径 - >项目--->我添加了项目:
在运行中 - >运行配置 - > ClassPath我有:
现在我添加了项目“JIRA”和“JIRA依赖项”
JIRA项目具有以下依赖关系:
我收到以下错误:
但是这个课程在M2_REPO中:
解
我只在没有Maven的JAR中添加“JIRA依赖项”: 现在它已经运行了。
答案 0 :(得分:14)
您应该在“项目”标签中添加另一个项目,或在“库”标签中添加项目的类文件夹。
答案 1 :(得分:11)
您需要将项目B添加到项目A使用的运行配置中。在菜单中运行 - >运行配置...,在运行配置的“classpath”选项卡中添加项目B.
答案 2 :(得分:7)
将Project B放在Build路径上,然后从Project Menu选项中执行Clean项目...然后使用它..
<强> - 强>
Click in "A" -->Properties -->Build Path --> Projects ---> Add the Project --->Ok
答案 3 :(得分:2)
为了从Java中的Classes调用方法,首先需要该类的实例。
因此,在您的代码中,您需要执行以下操作:
获取实例:
MyClass instanceOfMyClass = MyClass.getInstance();
调用方法:
instanceOfMyClass.someFunction(...);
这意味着当你调用getInstance()时,如果这样的实例已经存在,它将返回MyClass的实例,或者如果没有实例,它将创建一个新的实例。在获取类的实例后,如果它们具有适当的访问修饰符,则只需调用它的方法。
根据java doc java.lang.classNotFoundException有以下几种情况:
要解决上述异常,我们需要:
首先找出存在有问题的类文件的jar文件,例如“com.mysql.jdbc.driver”的mysql-connector-java.jar。如果您不知道如何找到特定类的jar文件,您只需在Eclipse中执行“Ctrl + T”并键入类的名称,它将按照它们在eclipse类路径中出现的顺序列出所有jar。
检查您的类路径是否包含该jar,如果您的类路径不包含jar,则只需在类路径中添加该类。
如果它存在于您的类路径中,则很有可能您的类路径被覆盖,或者应用程序正在使用jar文件或启动脚本中指定的类路径,并修复您需要找到所使用的确切类路径你的申请。
答案 4 :(得分:0)
如果B位于同一个工作区并打开alos,则必须将int放在“Projects”中,而不是“Source”。 如果你想让A更“独立”,你必须导出B.jar并将其添加到“Libraries”
答案 5 :(得分:0)
另请考虑使用maven。如果您有多模块项目,它非常有用。只需添加abother项目的依赖项,maven将负责休息..!
答案 6 :(得分:0)
创建项目“A”作为jar并在项目“B”构建路径中添加此jar。然后您可以调用所需的类并使用calss名称导入该类包名称。