- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在本地完成了一个 java 动态 Web 应用程序的构建,现在我正尝试将它部署到 Digital Ocean 上的一个 droplet 上。
我在我的服务器上安装了 jdk、mysql 和 tomcat,并使用从 eclipse 导出的 .war 文件部署了我的应用程序。我还复制了一个 mysql-connector-java 文件到/opt/tomcat/lib 文件夹。
但是当我在服务器上打开我的应用程序时,出现如下错误:
Error instantiating servlet class surveyExchange.my.SignUpServlet
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/UserInfo?useSSL=false.
我的代码是这样的:
static String url = "jdbc:mysql://localhost:3306/";
static String dbName = "UserInfo?useSSL=false";
static String driver = "com.mysql.jdbc.Driver";
static String userName = "root";
static String password = "******";
static Connection conn = null;
private static final long serialVersionUID = 1L;
/**
* @throws SQLException
* @see HttpServlet#HttpServlet()
*/
public SignUpServlet() throws SQLException {
super();
conn = DriverManager.getConnection(url + dbName, userName, password);
}
这行有错误:
conn = DriverManager.getConnection(url + dbName, userName, password);
堆栈跟踪:
Exception
javax.servlet.ServletException: Error instantiating servlet class surveyExchange.my.SignUpServlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
Root Cause:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/UserInfo?useSSL=false
java.sql.DriverManager.getConnection(DriverManager.java:596)
java.sql.DriverManager.getConnection(DriverManager.java:215)
surveyExchange.my.SignUpServlet.<init>(SignUpServlet.java:34)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
java.lang.Class.newInstance(Class.java:383)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
非常感谢您的耐心等待!!
最佳答案
回答问题的间接方式:Go with a datasource (但你可能会在那里遇到同样的问题,所以继续)
驱动在tomcat的lib/
文件夹中应该没问题(不是在WEB-INF中,但是不管你做什么,请只把它放在一个位置)。
检查文件(以及所有目录,关于您用来运行 tomcat 的用户)的权限,并确保您的连接器实际上是一个 jar 文件,而不是仅包含 jar 的压缩下载文件。
我通常做的是 aptitude install libmysql-java
以确保我的版本与本地 mysql 匹配,然后 ln -s/usr/share/java/mysql-connector -java.jar/opt/tomcat/lib/
尝试连接之前尝试的另一个选项(每个应用程序运行一次就足够了):执行 Class.forName("com.mysql.jdbc.Driver");
。
此外,我认为最好将连接分配移至 servlet 的 init()
方法(并在 destroy()
中清理)或甚至使用 JNDI 连接 - 但这只是对上述答案的补充。
关于java - 将 Java .war 应用程序部署到 digital ocean Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36381276/
我在 digital ocean 上部署了一个应用程序,我想更新它的部署源 (github)。我将我的 github 存储库移到了一个组织,现在 digital ocean 似乎无法再访问它了。 我相
我在 digital ocean 上部署了一个应用程序,我想更新它的部署源 (github)。我将我的 github 存储库移到了一个组织,现在 digital ocean 似乎无法再访问它了。 我相
我有一个生产服务器 - 一个 Digital Ocean Droplet - 上面运行着一个数据库和网站。我现在想继续制作一个临时服务器。我认为克隆它是一个好主意,但是执行此类操作的好方法是什么? 到
似乎 get.k8s.io 是部署 Kubernetes 集群的推荐方法,但该脚本不支持 Digital Ocean。 有没有一种我错过的替代方法可以在 Digital Ocean 上轻松设置集群?
我知道 Petrel & Ocean 2012.1 版本即将发布。因此,我想知道将使用哪个版本的 Open Inventor,以及在哪里可以找到有关它的更多信息。 最佳答案 Petrel 2012.1
我知道 Petrel & Ocean 2012.1 版本即将发布。因此,我想知道将使用哪个版本的 Open Inventor,以及在哪里可以找到有关它的更多信息。 最佳答案 Petrel 2012.1
所以这就是我想要做的。 在 git 中推送到 master 有 gitlab-ci 听说推送启动管道 管道构建代码并将 docker 容器推送到 gitlab 注册表 管道通过 ssh 登录到 d
我们已经构建了一个带有最新 Ocean/Petrel 修补程序的插件:2010.2.2。 我们所有的测试都正常。 但是插件在2010.2使用的时候会崩溃。 任何人的任何建议? 最佳答案 海洋/海燕释放
我已经使用相应的自定义颜色表制作了一些自定义属性版本。一切似乎都运行良好。但是,当我在颜色选项卡中选择“重置颜色表”时,Petrel 不会将值设置为我的默认值,而是设置为某些未知的颜色方案。 有谁知道
我有一个执行以下操作的代码:给出一个输入地震立方体,创建一个大小减半的裁剪版本,然后实现这个裁剪的立方体。 该插件似乎工作正常。但是,如果我尝试使用 Petrel 删除已实现的立方体(右键单击已实现的
我们有几个地震属性生成器,它们需要来自 地震体的数据。不是 在输入卷之间。 在 Petrel 2010 中,只要生成器在 UI 线程中运行,就可以正常工作。 Petrel 2011 竭尽全力禁止这种情
小测试用例: docker-compose.yml nginx: image: nginx:1 ports: - "80:80" volumes: - ./testconf
我们(我们的团队)发现可以将独立应用程序包含到插件中。该应用程序用于以特定方式修改Petrel 的数据。参见例如这些插件: http://www.ocean.slb.com/Pages/Product
有人在虚拟机中运行 Petrel 吗? Parallels Workstation Extreme 看起来可以解决问题,但我想知道 Windows Server 的 Hyper-V 中的新 Remot
如何在海洋脚本中声明多维数组。我面临问题,因为海洋只允许声明一维数组 最佳答案 在 C 中处理此问题的常用方法是分配适当总大小的一维数组:例如由 X x Y x Z 元素组成的数组将被定义为大小为 X
根据文档,使用terraform,我能够在 digital ocean 上创建一个小滴: resource "digitalocean_volume" "foobar" { region
我正在尝试上传带有发布请求的图像并将其移动到目录中。我试过.. $file = $request->file('file'); $extension = strtolower($file->getCl
我正在对 Bitbucket Server 使用 Blue Ocean。我想要一个新的构建发生: 创建或更新拉取请求时 当 master 更新时(基本上,当 PR 合并到 master 时) 看来我可
我想使用新版本的 Ubuntu 将数据从一个 droplet 移动到另一个 droplet。我正在考虑使用快照来执行此操作,但由于我不是 digital ocean 专家,我想知道快照磁盘镜像是否仅包
DigitalOcean有很多one-click apps可用的。它们帮助您使用预安装的软件创建一个 Droplet。但我还没有找到任何关于它们的技术文档。 具体来说: 谁维护这些应用程序? (例如,
我是一名优秀的程序员,十分优秀!