【问题标题】:How to include Java package source code in an Eclipse project如何在 Eclipse 项目中包含 Java 包源代码
【发布时间】:2015-07-17 02:52:46
【问题描述】:

我正在 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 Project)中,我有一个源(SomeClass.java)import com.domain.web 并定义了SomeClassDerivedFrom_AClassIn_com_domain_web

我将 d:\libs\standard\java 作为链接源添加到构建路径并具有不同的包含模式
a) 如果我包含 *,则文件将在项目资源管理器中显示而没有错误
b)如果我将包含模式留空,文件也会显示,但包名称有错误(不匹配......)

无论哪种情况,源代码SomeClass.java都抱怨import com.domain.web无法解析

即使我故意在 d:\libs\standard\java 中的任何包中引发语法错误,它们也不会被标记,这会导致项目中不包含的假设

我检查了How to take package .java files into a Eclipse Project 和其他一些页面,但没有找到正确答案。

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

最好的问候

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    第一个误解是 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 中删除导入指令。不再需要它(它也没有伤害)
    d) 在 com\domain\web 下创建一个名为 SomeClassDerivedFromAClassIn_com_domain_standard.java 的新源
    e) 将 d:\libs\standard\java 作为链接源添加到构建路径,将导入模式留空

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 2018-06-20
      相关资源
      最近更新 更多