当前位置: 代码迷 >> java >> 如何在Eclipse项目中包含Java包源代码
  详细解决方案

如何在Eclipse项目中包含Java包源代码

热度:106   发布时间:2023-07-27 09:28:50.0

我正在Eclipse(Mars)和Windows(8)中构建一个小型Java框架。 我的源代码文件位于以下位置:

d:\\ libs \\ standard \\ java

在该目录下
a) com \\ domain \\ standard它包含com.domain.standard.java并定义AClassIn_com_domain_standard
b) com \\ domain \\ web,它包含com.domain.web.java并定义AClassIn_com_domain_web ,导入com.domain.standard并定义SomeClassDerivedFromAClassIn_com_domain_standard

我需要将此类文件包含在Eclipse项目中,并能够对其进行编辑,或者换句话说,将其视为项目的一部分。 我不想简单地将它们复制到整个项目中,因为它们将在其他几个项目中使用和共享。

在项目(DynamiC Web项目)中,我有一个源(SomeClass.java),该源导入com.domain.web并定义SomeClassDerivedFrom_AClassIn_com_domain_web

我将d:\\ libs \\ standard \\ java作为链接源并以不同的包含模式添加到构建路径中
a)如果包含*,文件将显示在项目浏览器中而不会出现错误
b)如果我将包容模式保留为空,则还会显示文件,但有关程序包名称的错误(不匹配...)

无论哪种情况,源代码SomeClass.java都无法解决导入com.domain.web的问题。

即使我故意在d:\\ libs \\ standard \\ java中的任何程序包中引起语法错误,也不会对其进行标记,这会导致不包含在项目中的假设

我检查了和其他页面中,而没有找到正确的答案。

?我的包裹名称是否错误或位置错误? (我是Java新手)?我想在Eclipse中做些什么? 还是显而易见的?有人可以提供解决方案吗?

最好的祝福

第一个误解是Java软件包是公共类(如Oracle软件包)的集合。 他们不是。 每个源文件只能出现一个公共类,并且package指令用于提示和确保该类属于哪个包。 从第一个出现的第二个是源文件名。 它应与类名(包括大小写)匹配

所以步骤是
a)将com.domain.standard.java重命名为AClassIn_com_domain_standard.java
b)将com.domain.web.java重命名为AClassIn_com_domain_web.java
c)从AClassIn_com_domain_web.java中删除import指令。 不再需要它(也没有什么坏处)
d)在com \\ domain \\ web下创建一个名为SomeClassDerivedFromAClassIn_com_domain_standard.java的新源
e)将d:\\ libs \\ standard \\ java作为链接源添加到构建路径,而将导入模式留空

SomeClassDerivedFrom_AClassIn_com_domain_web.java正确导入任何包,并且标记了源代码错误

  相关解决方案