3

我从 i2b2.org 站点下载了应用程序服务器 Java 源代码,并对其进行了编译以进行部署。这个应用程序运行在 JBoss 之上。我在 Eclipse 中切换到的工作区中有 8 个项目文件夹(这 8 个项目所在的根目录)。有几个错误。

看起来其他人遇到了同样的问题:

https://www.i2b2.org/software/augrepo.html

以下是编译时错误的完整列表:

在此处输入图像描述

这是一个:

Project 'edu.harvard.i2b2.common' is missing required source folder: 'gensrc'

如果我右键单击“edu.harvard.i2b2.common”项目,然后选择“构建路径”,然后选择“配置构建路径”,然后导航到“源”选项卡,我看到我们缺少一个文件夹。

在此处输入图像描述

在 Windows 中,我看到该文件夹​​存在。看起来我的 CLASSPATH 需要该文件夹,但该项目没有包含它。在 Eclipse 中解决此问题的正确方法是什么?

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/core"/>
    <classpathentry kind="src" path="gensrc"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="lib/commons/commons-codec-1.3.jar"/>
    <classpathentry kind="lib" path="lib/commons/commons-collections-2.1.1.jar"/>
    <classpathentry kind="lib" path="lib/commons/commons-httpclient-3.0.jar"/>
    <classpathentry kind="lib" path="lib/commons/commons-logging-1.0.4.jar"/>
    <classpathentry kind="lib" path="lib/jdbc/ojdbc14.jar"/>
    <classpathentry kind="lib" path="lib/dom4j/dom4j-1.6.1.jar"/>
    <classpathentry kind="lib" path="lib/hibernate/hibernate3.jar"/>
    <classpathentry kind="lib" path="lib/j2ee/jbossall-client.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/jaxb-api.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/jaxb-impl.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/jaxb-xjc.jar"/>
    <classpathentry kind="lib" path="lib/spring/spring-2.0.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/jaxb1-impl.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/jsr173_1.0_api.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axiom-api-1.2.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axiom-dom-1.2.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axiom-impl-1.2.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-adb-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-adb-codegen-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-codegen-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-java2wsdl-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-jibx-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-kernel-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/axis2-saaj-1.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/mail-1.4.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/neethi-2.0.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/stax-api-1.0.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/woden-1.0.0M6.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/wsdl4j-1.6.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/wstx-asl-3.0.1.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/xml-apis-1.3.03.jar"/>
    <classpathentry kind="lib" path="lib/axis2-1.1/XmlSchema-1.2.jar"/>
    <classpathentry kind="lib" path="lib/junit/junit-4.4.jar"/>
    <classpathentry kind="lib" path="lib/jaxb/activation-1.1.jar"/>
    <classpathentry kind="output" path="classes"/>
</classpath>
4

1 回答 1

2

经过一番调查和故障排除后的新答案(特定于 i2b2):

  1. 您必须先运行 Apache Ant 脚本...按照 i2b2 文档中的 CRC_Installation_Guide.pdf

  2. 然后通过进入 Eclipse > File > Switch Workspace > Other(选择 8 个项目文件夹的父文件夹)来打开所有项目文件夹的父文件夹......通常称为“服务器”。C:\i2b2\服务器

  3. 正如我之前提到的,您将再次看到 19 个错误。那是因为 Apache Ant 脚本应该已经创建了文件夹和更多文件,所以引用被搞砸了。

  4. 刷新所有项目文件夹以获取最新的文件夹和文件。如果您有 Eclipse 自动编译,那么您就完成了。否则,您必须构建您的工作区。

  5. 然后显然去更新 7 个文件的 JDBC 连接字符串...... 5 个 *-ds.xml 文件以及 CRCApplicationContext.xml 和 CRCLoaderApplicationContext.xml。

旧答案(不正确,但可能会在类似问题上帮助其他人):

(用几个不同的来源解决)

  1. 请按照以下步骤操作: http ://www.bradjanke.com/2011/04/12/project-%E2%80%98project-name%E2%80%99-is-missing-required-source-folder-%E2% 80%98gen%E2%80%99/

  2. 单击项目文件夹>源(菜单)>清理...

  3. 右键单击项目文件夹 > 刷新 .. 这会拉取 Windows 在该项目的目录结构中拥有的文件

... 为其中 2 个项目做到了这一点,并解决了原来的 19 个。现在我有更多错误,但更容易修复。

于 2012-10-04T16:12:00.330 回答