问题标签 [i2b2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 这个 JavaScript 是什么意思?
我正在开发一个遗留应用程序,所有 JS 对我来说似乎都很神秘。
这是之前加载的几条神秘线,我不知道它们在做什么。
还有更多var
andif
语句,但它们使用不同的变量做同样的事情。
请帮我解开这个谜。
java - 使用“ant”命令从 XML 文件按顺序运行 *.sql 文件(在 SQL Server 2008 Express 上构建 i2b2 本体数据库)?
以下是 i2b2 数据库设置教程中的命令,用于创建一堆表并为特定数据库加载数据。我之前只在 SQL Server Management Studio (SSMS) 中手动(在新的查询窗口中)运行 *.sql 命令。这是必须从 Java 运行的东西,还是我可以直接从某个命令提示符处执行此操作?如果是这样,你能帮我完成必要的步骤吗?(即:我是否需要引用第 3 方程序集,我猜我需要配置我的数据库连接字符串等。)
将鼠标悬停在“ant”(StackOverflow 标签)上之后,它似乎是一些 Java 工具。
“Apache Ant(以前称为 Jakarta Ant)是用于 Java 项目的声明式、基于 XML 的构建工具。它提供了一组丰富的标准任务来执行最常见的构建操作,例如使用 javac 编译、构建档案和运行测试。Ant 的功能可以通过自定义任务和宏进行扩展。”
我尝试在 Windows 的命令提示符下运行它,但出现错误。
我看到了 XML 文件中列出的实际 *.sql 文件,我猜它们是以特定方式排序的,以便关联的(包含主键)首先将数据加载到它们中,然后桥/父/所有者/base 表(包含外键)最后运行,因为它们依赖于关联的表。如果一切都失败了,我可能可以按照列出的顺序直接从 SSMS 运行这些命令,但我很想试试这个“ant”命令。
设置说明:
下载“i2b2createdb-1602.zip”并解压。
下载“i2b2core-doc-1602.zip”并解压(使用这些 PDF 文档获取安装说明)
======================================
看来我必须定义 XML 文件中定义的变量。
======================================
2012 年 5 月 6 日上午 6:52 更新:
SQL Server Management Studio 设置:
- SQL Server Management Studio > 创建名为“i2b2_demo”的新数据库
安装 Oracle JDK:
安装 Apache Ant:
- 在http://ant.apache.org/下载二进制文件
- 导航到此路径以获取安装说明:手册 > 安装 Apache Ant > 获取 Ant > ..follow instructions
- 将提取的文件夹(包含 bin 文件夹)移动到
C:\source_code\apache-ant-1.8.3\
%ANT_HOME% 环境变量中使用的目录或目录中
Java 和 Ant 的 Windows 7 环境变量设置:
Windows 7 > 控制面板 > 系统 > 单击“环境变量”按钮 >
(不要忘记尾随的“\”) *[ MacGyver 5/6/2012 @2:45pm - 忽略这个...删除尾随的“\”字符...请参阅我在问题下方的评论]
在“系统变量”部分下,单击“添加”> 变量名称:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.7.0_02\
在“系统变量”部分下,单击“添加”> 变量名称:ANT_HOME
变量值:C:\source_code\apache-ant-1.8.3\
在“系统变量”部分下,单击“路径”环境变量,单击“编辑”> 变量名称:Path
变量值:{value before editing};%JAVA_HOME%\bin;%ANT_HOME%\bin;
重新启动命令提示符(以管理员身份运行)
C:\source_code\i2b2\i2b2createdb-1602\edu.harvard.i2b2.data\Release_1-6\NewInstall\{folder}\db.properties
用适当的值替换每个文件。代替 ”?” 具有正确的值。
“db.properties”文件:
收到此错误:
======================================
更新于 2012 年 5 月 6 日 @ 上午 7:33 ... 发现此页面出现错误 ...
安装蚂蚁:
要么点击这个:http ://ant.apache.org/manual/index.html
或者...
导航到http://ant.apache.org/ > 手册 > 安装 Apache Ant > 安装 Ant >
......然后注意到我错过了命令上的参数..它仍然失败了!
======================================
更新于 2012 年 5 月 6 日@下午 1:33
我阅读了这个片段,并意识到我把“\”放在了两个环境变量(ANT_HOME 和 JAVA_HOME)的末尾。我想你不能那样做。我的错。
视窗注意:
"ant.bat 脚本使用三个环境变量 - ANT_HOME、CLASSPATH 和 JAVA_HOME。确保设置了 ANT_HOME 和 JAVA_HOME 变量,并且它们没有引号(' 或 ")并且它们不以 \ 或以/。CLASSPATH 应该未设置或为空。”
- 再一次,我不得不重新打开我的 Windows“cmd”窗口,因为我做了这些环境变量更改。
好像以前效果更好。请注意,它在下面没有做太多。它仍然失败。或者它可能不需要它们,因为它在上次运行时找到了它们。
sql - 文本板正则表达式:用 5 个新行替换一组 3 个字符
我想用这个工具美化 SQL 代码。在此工具接受之前,我想使用“替换”功能并选择 TextPad 中的“<*>”(不包括双引号)替换每个实例正则表达式。我怎样才能做到这一点?
java - 项目中缺少 Java 类路径文件夹,但项目的 Windows 目录结构中存在
我从 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 中解决此问题的正确方法是什么?
java - 从 Windows 命令提示符执行 Java 程序(NCBO 提取工具)不起作用...用户指南使用 Linux 语法
我正在尝试从 Windows 命令提示符运行 Java 命令行程序,以从 BioPortal (http://bioportal.bioontology.org) 提取和生成本体文件。它似乎找不到类,但也许我的 CLASSPATH 参数语法不正确。设置参考(NCBO 用户指南和 NCBO 提取工具 zip 文件)可以在我的问题底部找到。这些说明基于 Linux 语法,但我在 Windows 中运行它。
Linux 命令(来自用户指南):
Linux -classpath 参数包括:
Windows 命令(不起作用):
来自 Windows 命令提示符的错误:
Windows -cp (CLASSPATH) 参数包括以下路径:
==================
指导:
说明从第 8 页(共 16 页)开始。我在第 9 页。
在用户指南中,它引用了一个 NCBO 实用程序。可以在这里下载:
https://www.i2b2.org/software/download.html?d=310
单击标有“文件下载”的蓝色超链接或单击下面的链接(截至 2013 年 1 月 4 日的链接)> 然后单击“我接受”> 将文件 (NCBOExtractionTools_1.1.zip) 保存到本地计算机 > 提取 zip 文件
这是从 i2b2 NCBO 实用程序中提取的文件列表,因此您可以查看我们可用的 jar 文件:
java - JBoss 上同一应用程序的两个实例抛出此异常: java.lang.Exception: Port 8083 already in use
在 Windows Server 2008 机器上,我试图运行同一应用程序的两个实例。此应用程序 (i2b2) 正在使用 Apache Axis 2 Web 服务。JAX-WS Web 服务在端口 9090 上运行,并在端口 8083 上调用 JBoss 中的应用程序源代码。我制作了应用程序代码的完整副本(其中包括 Apache Axis 2 提取的 war 文件)以避免混淆,并且在 {jboss 文件夹}\server\default\deploy\jboss-webdeployer\server.xml 中将第二个实例上 Web 服务的端口连接从 9090 更改为 9091。
我可能会以错误的方式解决这个问题。我不太关心在不同的端口上运行,我只需要有两个实例。因此,如果复制应用程序编译的源代码并切换端口不是解决此问题的最佳方法,如果您有不同的想法,请告诉我。
启动 JBoss 后,使用 JBoss bin 文件夹中的此命令,我得到以下异常。查看我发现引用端口 8083 的位置的更多详细信息。
例外:
这是我发现引用端口 8083 的地方。我尝试将其更改为端口 8084,但它似乎仍在寻找端口 8083。
jboss-service.xml 的源代码:
编辑@ 2013 年 3 月 18 日下午 4:20:
将此端口更新为 8084:
源代码:
现在我得到了这个例外:
编辑 2013 年 3 月 18 日下午 6:35:
这些是最好的指示。 http://darrellgrainger.blogspot.com/2010/02/changeing-ports-in-jboss.html ...
-->
好消息...是我能够通过移动XML 标记之前取消注释掉 xml 文件中的 JBoss port-01 部分。然后我制作了 jboss\default\ 文件夹的副本并将其重命名default-qa
。所以 JBoss 的第二个实例现在应该使用端口 8183。默认情况下,文件夹的 port-defaultdefault
仍应绑定到端口 8083。并通过从 jboss bin 文件夹中执行此操作来启动 JBoss 的第二个实例run -b 0.0.0.0 -c default-qa > debug-qa.txt
。那工作得很好。
坏消息...应用程序代码具有 ${jboss.home}/server/default/deploy/ 硬编码,并且 Spring Web Framework *.properties 文件中的 Apache Axis 2 端口设置为 9090。由于 JBoss 的第二个实例依赖于 Apache Axis 9091,我想我现在需要制作另一个源代码副本并使用端口 9091,并且在第二个实例中保持相同的文件夹结构,但移动根文件夹别的地方。然后重新编译。
sql-server-2008 - 如何在不重复 group by 子句中的第一列的情况下获得聚合计数?
这个查询迫使我将 f.CONCEPT_CD 放在 group by 子句中,因为我在 select 子句的 case 语句中使用了它。如何在结果集中保留计数,而不用相同的 f.PATIENT_NUM 重复记录?请注意在下面的屏幕截图中如何重复 PATIENT_NUM = 5。如果 PATIENT_NUM = 5,我只想显示一条记录。
sql-server - 在 SQL Server 中查找重复项的更快方法
我正在尝试找到一种在 SQL Server 中查找重复项的更好方法。在结果开始显示在 SSMS 的结果窗口中之前,这需要 20 多分钟才能运行超过 3 亿条记录。又过了 22 分钟,它才坠毁。
然后 SSMS 在显示 16,777,216 条记录后抛出此错误:
架构:
jsp - Tomcat 7 JSP 页面:使用 Shibboleth 身份验证会话在 Tomcat 中进行身份验证时避免 500 错误
Tomcat 7 异常:
Apache Tomcat/7.0.63 - HTTP 状态 500 - 处理 JSP 页面时发生异常
参考:
我将此代码与我们的 i2b2 应用程序集成,因此我们可以针对我们的 Shibboleth IdP 进行身份验证。
https://github.com/HSSC/i2b2-web-integration/blob/master/doc/INSTALL.md
应用程序(i2b2):
测试:
(我们按照这个来构建 Shibboleth 服务提供商)
Shibboleth IdP:
问题:
该页面在状态代码为 500 的 JSP 页面上失败,在设置“id”的行上,因为它上面的行有一个List<string>
为空的“auth”变量(Java 中的类型)。请注意,此页面具有 JSP 标记和 Javascript 的组合。
login.jsp 页面上失败的代码片段:
造成这种情况的工作流程?
如果我们有一个好的会话,代码通常会很好。我们现在的解决方法是让会话在 24 小时内超时。
这是导致错误的工作流程...
点击 i2b2 页面 > 自动重定向到 Shibboleth IdP > 使用 IdP 凭据登录 > 重定向回 i2b2 页面 > 此代码将用户和会话 ID(密码)从 Shibboleth 会话中取出,并使用它自动授权进入 i2b2 应用程序。
login.jsp 页面被黑客入侵以从 Shibboleth 会话中获取数据,因此用户不必输入凭据。
问题是当 shibboleth 会话超时,或者 Tomcat 会话过期或者浏览器中的缓存被清除时,就会出现这个错误,因为整个页面需要会话中的这两个变量(id 和密码)。
清除缓存是获得此错误的最快方法。另一种方法是将 Tomcat 默认会话超时从 30 分钟更改为 1 分钟。
可能为这个问题提供可能答案的想法:
在 ASP.NET 中,如果会话不存在,您可以告诉它自动重定向到另一个页面(使用配置)。Tomcat 是否通过给它一些条件(带有代码)来提供该功能?
我们如何强行终止 Tomcat 会话(不处理此页面),并像我们对 i2b2 有一个全新的请求一样重定向?我知道在 ASP.NET 中,如果收到应用程序错误,可以调用一些代码。Tomcat 提供什么吗?
如果我们想更深入地破解这个页面,我们怎么能简单地通过条件避免错误,但仍然有页面进程,然后重定向?
还有其他想法吗?
i2b2 - 验证 i2b2 中的 PM 安装步骤不起作用
我已经遵循了 PM 安装文档第 5 章中提到的所有步骤,可以在此处找到。我在步骤5.7 验证 PM 安装步骤。当我运行文档中提到的以下 URL 时http://localhost:9090/i2b2/services/listServices
,我看到一个空白页。基本上这是我在 chrome 的开发人员工具控制台窗口中看到的 404 Not Found 消息。我不确定为什么 web 服务没有运行。当我使用localhost:9990
最终将我重定向到 URL的 URL 时,我可以看到 JBoss 正在运行http://localhost:9990/error/index_win.html
。
以下命令显示我的构建成功并且一切正常,直到部署步骤 5.5
谁能告诉我我必须采取哪些故障排除步骤?