- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直在按照 Heroku ( https://devcenter.heroku.com/articles/java-webapp-runner ) 的教程学习如何使用 webapp-runner.jar 运行 war 文件。现在我想在 heroku 上运行 cbioportal ( https://github.com/cbioportal/cbioportal )。我已经设法将 webapp-runner.jar 添加为依赖项,请参阅:https://github.com/inodb/cbioportal/tree/heroku .
当我从 repo 目录运行以下命令时:
java -Djava.naming.factory.initial=org.apache.naming.java.javaURLContextFactory \
-jar portal/target/dependency/webapp-runner.jar --port 9099 portal/target/portal
我收到这样的错误:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityMapper' defined in class path resource [applicationContext-business.xml]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext-business.xml]: Cannot resolve reference to bean 'businessDataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'businessDataSource' defined in class path resource [applicationContext-business.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name [java:comp/env/jdbc/mydb] is not bound in this Context. Unable to find [java:comp].
我试过传递本地 Tomcat 安装的 context.xml 并直接在文件中设置 mysql 连接字符串,但无济于事。
最佳答案
我认为您需要将数据库 URL 注册为 context.xml
文件中的 JNDI 资源,可能像这样:
<Context>
<Resource name="jdbc/cbioportal" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="user" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/dbname"/>
</Context>
然后您需要将该上下文 XML 作为选项添加到 java
命令,如下所示:
$ java ... \
-jar portal/target/dependency/webapp-runner.jar \
--context-xml context.xml --port 9099 \
portal/target/portal
对于 context.xml
中的 url
,您必须从 $ heroku config
中获取它并将其转换为jdbc 网址。它在运行时作为 $JDBC_DATABASE_URL
可用。 ,但我不确定如何将它动态地放入 context.xml 中。
出于这个原因,我认为如果可能的话最好不要使用 JNDI。你能直接在你的应用程序中配置数据库参数吗?
我从 this line in your config 得到了 JNDI 名称
有关 JNDI 与 Tomcat 的更多信息,请参阅 the Tomcat docs .
有关 webapp-runner 选项的更多信息,请参阅 project readme .
关于java - 如何使用 heroku 的 webapp-runner.jar 运行 cbioportal tomcat war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214673/
我在自己的 ubuntu 服务器上有一个简单的 gitlab-runner 设置。它是使用以下方式注册的: sudo gitlab-runner register -n --url https://g
我的 flutter 项目不适用于 ios 设备。 我试过下面的命令sudo gem install cocoapods . flutter 跑: Warning: CocoaPods not ins
我有一个包含2 个作业的管道。 我在 windows 上使用 Debug模式以 super 用户身份启动用户并收到下一个输出: Checking for jobs... received
当我尝试构建我的应用程序时,我在控制台中收到此错误: Xcode build done. 114,3s Failed
我试图让 Karma runner 在 Jenkins 构建期间生成 cobertura 格式的代码覆盖率报告。我可以让它生成一个coverage.xml 文件,但它实际上没有任何覆盖数据。似乎(使用
我正在使用 Windows 10 并使用 Gitlab's doc 安装了 gitlab-runner . 成功安装和注册后,我尝试离开我用来安装的文件夹(C:\Gitlab-Runner 在我的实例
我正在使用 Windows 10 并使用 Gitlab's doc 安装了 gitlab-runner . 成功安装和注册后,我尝试离开我用来安装的文件夹(C:\Gitlab-Runner 在我的实例
我正在尝试创建一个 kubernetes gitlab 运行程序,但遇到了非常普遍的错误 Failed to register the runner. You may be having networ
我曾经在 github 上有一个项目 travis和一个 appveyor已配置集成服务。因此,我能够确保我的项目在 OSX 和 Windows 平台上都可以正常编译。 我现在正在使用 gitlab
在我们的 Gitlab 服务器上,我有两个存储库,其中一个存储库('EPSILON-SDK-C')是另一个存储库中的子模块。当我在我的开发人员机器上本地运行 gitlab-runner sudo g
我正在使用带有 docker+machine 执行程序的 gitlab 运行程序来启动 AWS 上的自动缩放运行程序。我想在运行者中使用 docker-in-docker setup 来构建容器,但我
关于announcement关于 SonarQube 与 MSBuild 和 Team Build 的集成,谁能就 SonarQube Runner 和 SonarQube.MSBuild.Runne
我正在尝试使用带有 shell 执行程序的 gitlab-runner 提取代码。 $ git pull origin master error: cannot open .git/FETCH_H
我正在尝试对远程 Weblogic 12.1.x 进行非常简单的 Arquillian 测试,例如我有以下内容 public class MyBean { } 然后是测试 @RunWith(Arqui
我的环境是 Centos 7,我刚刚安装了 gitlab-runner,当我以安装 gitlab-runner 的用户身份运行此命令时(不是以 root 身份) sudo gitlab-runner
我的环境是 Centos 7,我刚刚安装了 gitlab-runner,当我以安装 gitlab-runner 的用户身份运行此命令时(不是以 root 身份) sudo gitlab-runner
我正在尝试在 Android Studio 中运行仪器测试。 我已经研究并尝试了很多,但我无法克服这个错误消息。 我的模块依赖: (编译) +--- com.crashlytics.sdk.andro
我正在尝试执行我的以下测试套件: import unittest from Login_Page import LoginPageAndLogout def test_suite(): # g
我刚刚使用来自 sonarqube.com 的指南在 Windows 7 上安装了 sonnar runner 我在C盘安装了sonnarqube4.5和sonar-runner,但是我的项目在D盘的
我使用 Dataflow 运行程序测试了我的代码,但它返回错误: > Error message from worker: java.lang.RuntimeException: > org.apac
我是一名优秀的程序员,十分优秀!