草庐IT

java - 在 tomcat7 maven 插件中设置 ENV 变量

有没有办法通过tomcat7-maven-plugin设置ENV变量?这样它们就会出现在System.getenv()中?可以使用设置系统属性出现在System.getProperties()中map。我正在寻找一种类似的方式来传递环境变量。 最佳答案 这里已经回答了:SettingUserEnvironmentVariablesfortomcatonWindowsFromanadmincommandpromptdothefollowingcommand:tomcat8//US//YourServiceName++Environme

java - 有没有办法从 Visual Studio Code 调试 Tomcat Java 应用程序

我是Java的新手,但需要对Java代码进行一些更改。为此,我更喜欢使用VisualStudioCode。Java代码使用Maven构建为.WAR文件并部署到Tomcat。有什么方法可以直接从VisualStudioCode调试这个应用程序吗? 最佳答案 VisualStudioCode有很多工具可以在市场上执行此操作。对于Tomcat,您可以使用:https://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat你可以做所有这些事情:从Tomcat安装

java - 为 Tomcat 7 配置 SSL 导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误

我按照以下步骤为Tomcat7设置SSL,从我的CA下载我的证书后,我:使用Javakeytool将根证书、中间证书和我的站点证书导入本地keystore。将tomcatserver.xml文件修改为(许多站点都有类似的配置):一切似乎都很好,直到我打开浏览器访问该站点并在Chrome中出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误,在Firefox中出现“无通用加密算法”错误。我花了几个小时但仍无法弄清楚问题是什么,并感谢那些可以阐明这个问题的人。更新keystoreFile修改为.pfx文件后可以正常使用,但是为什么按照javakeystore(.ke

JavaCompiler API - 在 tomcat 中运行时编译速度慢

我的应用程序在运行时生成Java代码并使用JavaCompilerAPI对其进行编译。一些生成的文件可能相当大——多达几十万行。我发现当我在命令行中对生成的代码运行javac命令时,或者如果我使用仅通过JavaCompilerAPI进行编译的应用程序,我可以编译其中的许多文件(~500),即使它们非常大,也可以在两分钟内完成。但是,如果我在Tomcat服务器上运行时通过我的应用程序调用API,则编译时间会超过12分钟(!!!)。如果有任何关于如何提高编译性能的建议,我将不胜感激。谢谢! 最佳答案 尝试将线程优先级设置为最高值(在线程

Java Servlet 部署 - 嵌入与否 - Tomcat/Jetty

我有几个部署到生产环境的网络应用程序。我使用Tomcat作为我的servlet引擎已有10年了。我正在考虑从deploy-a-war-into-Tomcat模型转向嵌入Jetty模型。这些网络应用程序部署在多个服务器上,其中一些是水平扩展的(使用基于nginxIP散列的分区)。我看到了一些优势:我可以为特定的网络应用程序配置我的servlet引擎(而不是为运行多个不同网络应用程序的Tomcat进行通用配置)通过在同一主机上运行多个Jetty实例(配置为监听不同端口),可以更轻松地水平扩展我的Web应用程序。我也可以用Tomcat做到这一点(我过去在同一台主机上运行过多个tomcat实例

java - 在 tomcat/shared/lib 中获取 jar 以使用调用它们的 webapp 的配置进行记录

我希望将我们的tomcat实例从5.5.27升级到6.0.32,但我在从shared/lib目录中的jars进行日志记录时遇到了一些问题(我在tomcat6中重新创建了该目录)。我们有一个jar文件,它是我们在构建过程中创建的,其中包含一些通用代码,在tomcat5下,它位于shared/lib下。当我们从这个jar文件中的代码编写日志语句时,它们被写入当时调用该jar的Web应用程序的日志文件。我们的每个webapps在其WEB-INF/lib目录中都有一个log4j.properites和log4j.jar,在shared/lib中也有一个log4j.jar,但没有log4j/pr

java - NoClassDefFoundError : org/apache/catalina/startup/Bootstrap when running tomcat from exe/as service

我已经通过startup.bat运行Tomcat6.0.37服务器很长一段时间了。现在我想将tomcat作为一项服务运行,它会在机器启动时自动启动。我用bat创建了服务:service.batinstall。这成功地创建了服务。当试图启动它时,我在标题中得到了错误。然后我尝试只运行exe(tomcat6.exe)。这给了我完全相同的错误。我检查过CATALINA_HOME、JAVA_HOME和JRE_HOME设置是否正确。bootstrap.jar确实存在于tomcat/bin中。jvm的路径是正确的。jvm.dll确实存在于jre6/bin/server中。我还发现了一个线程,其中缺

java - 读取 HTTPServletRequest 的 POST 主体,然后在 Tomcat 中调用 getParameter

我的应用程序需要检查POST请求的内容/数据/正文/有效负载而不更改后续getParameter调用的结果。从输入流中读取正文:可以使用request.getInputStream中的InputStream或request.getReader中的BufferedReader读取正文。读取POST参数:POST请求通常在请求正文中包含请求参数。这些可以使用getParameter检索。问题:第一个getParameter调用在内部解析inputStream并将所有参数插入到参数HashMap中。它要求inputStream仍然包含要解析的内容。因此,无法在检查内容的同时调用有效的getP

java - NPE 在 Tomcat 中安装 Clojure WAR,重启修复

我正在尝试将一个用Clojure编写的WAR文件部署到DebianLenny上的Tomcat6。当我将它复制到webapps目录时(对于第一种类型和覆盖现有war时),我得到一个NullPointerException。奇怪的是,重新启动Tomcat解决了这个问题,servlet运行正常。我用leiningen-war打包了WAR(也试过lein-ring)。使用Jetty时,servlet工作正常。这是来自Tomcat的相关日志条目:Jan12,20117:18:06PMorg.apache.catalina.core.StandardWrapperValveinvokeSEVERE

java - 仅在使用 Java 的 Tomcat 8+ 上启用记录 SSL 握手失败(审计目的日志)

如果REST客户端尝试连接到我的应用程序时SSL握手失败,我需要记录。该应用程序是使用SpringBoot和Java8构建的,并部署在Tomcat8上。在SSL握手失败的情况下,由于TLS连接断开,日志记录要求可能必须在Tomcat层或Java中完成,因为在我的案例中Tomcat使用底层JVM进行SSL证书验证。我知道启用调试级别日志记录。-Djavax.net.debug=ssl但这会记录大量信息并会减慢进程。并记录成功的SSLvaldiations。有没有办法在Java或Tomcat级别使用最少的日志单独启用故障案例。我不是从调试的角度来看这个,因为SSL调试日志对此非常有用。此要