Tag: tomcat

为什么Tomcat需要安装JDK?

据我所知,JRE是运行时,JDK用于开发Java代码。 但是在生产中的Tomcat服务器上,将不会开发Java应用程序。 所以,我的问题是为什么我们不能运行Tomcat只安装JRE,为什么运行Tomcat需要JDK安装?

如何在Tomcat中设置上下文路径,以便可以在不附加部署的文件夹名称的情况下进入站点?

我在这里看了Tomcat指南和一些SO问题。 而且我认为我几乎都在做同样的事情。 但在某种程度上无法成功。 首先,我必须说我的应用程序部署在我无法控制的共享Tomcat服务器上。 我只是删除我的.war文件并进行部署。 我试图将我的应用程序打包为ROOT.war,但是没有用。 管理员告诉我把它打包成我想要的名字,他们会照顾它。 我把它打包为my-application.war并且已经部署但是我必须输入http:// my-host / my-application来访问网站。 联系管理员后,他们告诉我他们已经在我的主机中将一个上下文元素放在Tomcat配置文件中,如: 应该将my-application设置为进入my-host所有请求的默认应用程序。 但它没有,每当我输入http:// my-host我得到: HTTP Status 404 – / The requested resource (/) is not available 但是,当我输入http:// my-host / my-application时 ,一切正常。 任何关于可能出错的建议都是绝对值得赞赏的。 更新: 我尝试按照tomcat文档中描述的步骤来了解如何使应用程序默认 。 描述了3种方式,我尝试了所有三种方式,并且可以在localhost上将我的应用程序成功部署为ROOT。 我还尝试重现我在远程服务器上遇到的问题,以便找到原因并将其报告给管理员。 我发现了几个问题。 在admin.xml发送给我的server.xml片段中, autoDeploy和deployOnStartUp设置为true,而如果在server.xml中显式定义Context元素,则它们应该为false。 这将导致双重部署,从而创建一个ROOT文件夹和一个名为.war文件的文件夹。 删除.war将删除它的相应文件夹并取消部署应用程序,但ROOT仍然存在,必须手动删除并需要重新启动Tomcat。 在重新启动之前,ROOT.war的任何部署都将失败。 我认为有一些原因阻止了ROOT.war的部署。 可能是在conf / {engine-name} / {host-name}中存在ROOT.xml,或者在主机的appBase中存在ROOT文件夹,或者如上所述,以前部署的ROOT应用程序未取消部署并且需要Tomcat重新开始。 无论哪种方式,我无法确切地指出究竟是什么阻止ROOT.war部署,因为这需要访问Tomcat日志文件和conf文件以检查我上面描述的情况。 另外,从我看来,我的管理员似乎无法维护Tomcat服务器并找到问题。 所以我决定在与共享服务器挣扎之后使用专用的Tomcat服务器。

windows下的tomcat中的system.out.println写在哪里?

我正在使用用于记录system.out.println语句的第三方库(无法修改它)。 输出在控制台中显示正常,但我无法在catalina […]。日志文件中检索这些信息? 是否可以将它们发送到log4j?

用于单个应用程序的REST和SOAP Web服务

我们使用Spring构建应用程序并使用Tomcat部署它。 我们有一个有效的REST接口,但是我们的一个客户端只有一个SOAP客户端。 我的理解是SOAP Web服务和REST Web服务不能在同一个端口或应用程序上共存。 我可以选择尽可能少地接受SOAP请求。 我应该通过rest接口接受soap数据包并解析XML吗? 或者我可以设置SOAP接口与我的REST接口通信并回复? 我正在使用Gradle作为我的构建工具。 将解决方案作为单个WAR文件的一部分会很好

如何解压缩特定文件夹?

如何使用Ant解压缩特定文件夹? 具体来说,我已经下载了包含文件夹“apache-tomcat-6.0.29”的apache-tomcat-6.0.29.zip。 我希望Ant解压缩“apache-tomcat-6.0.29”下的所有内容,但不要在层次结构顶部包含“apache-tomcat-6.0.29”。 我尝试了很多东西,但我似乎无法让它发挥作用。 这是我最近的尝试: 有任何想法吗?

从Eclipse运行Tomcat时避免Permgen Space错误

从Eclipse 3.6运行Tomcat时,避免permgen空间错误的最佳方法是什么? 这是通过添加以下行来完成的: -XX:MaxPermSize=512m 在eclipse.ini结尾? 或者是否需要额外的配置?

部署程序集:当前显示的页面包含无效值

我从Sourceforge导入了一个Java Web应用程序,我做了三个工作周的努力来摆脱项目名称和包附加的所有红色十字架,但现在我无法在Eclipse和tomcat6开发环境中运行应用程序。 在项目属性中,当我尝试设置部署程序集时,对话框显示:当前显示的页面包含无效值。 在错误日志中,我发现当我单击部署程序集时,显示以下错误消息: 错误 Wed Jan 09 10:25:16 CST 2013 Problems occurred when invoking code from plug-in: “org.eclipse.jface”. java.lang.NullPointerException at org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder.getFirstTaggedResource(VirtualFolder.java:185) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getDefaultDeploymentDescriptorFolder(J2EEModuleVirtualComponent.java:542) at org.eclipse.jst.j2ee.internal.ui.JavaEEDeploymentAssemblyAdvancedSectionBuilder.(JavaEEDeploymentAssemblyAdvancedSectionBuilder.java:86) at org.eclipse.jst.j2ee.internal.ui.J2EEModuleDependenciesPropertyPage.getAdvancedSectionBuilder(J2EEModuleDependenciesPropertyPage.java:381) at org.eclipse.jst.j2ee.internal.ui.J2EEModuleDependenciesPropertyPage.(J2EEModuleDependenciesPropertyPage.java:65) at org.eclipse.jst.servlet.ui.internal.WebDependencyPropertyPage.(WebDependencyPropertyPage.java:34) at org.eclipse.jst.servlet.ui.internal.WebModuleDependencyPageProvider.createPages(WebModuleDependencyPageProvider.java:54) at org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage.createContents(ModuleAssemblyRootPage.java:195) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232) at org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage.createControl(ModuleAssemblyRootPage.java:346) at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1502) at org.eclipse.jface.preference.PreferenceDialog$14.run(PreferenceDialog.java:1259) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1253) at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:675) at […]

Jackson + Tomcat – java.lang.VerifyError:无法从最终类inheritance

我有一个在Tomcat 6中运行的Java Web服务,它接受JSON输入。 我试图使用Jackson ObjectMapper来解析输入json。 但是在初始化ObjectMapper对象时,我收到了这个错误 16:08:13,616 ERROR [[jersey]] Servlet.service() for servlet jersey threw exception java.lang.VerifyError: Cannot inherit from final class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2733) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1124) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at com.test.project.offline.ws.WsApiResource.updateData(WsApiResource.java:169) ……. 在第169行,我有这个ObjectMapper mapper = new ObjectMapper(); 在unit testing中本地调用com.test.project.offline.ws.WsApiResource.updateData()方法时,它可以正常工作而不会出现任何错误。 请帮我解决这个问题。 我使用的是Jackson 1.8.4和tomcat 6。 更新:修复了这个问题。 问题是依赖树中不同版本的jackson。 排除它解决了问题。

Spring启动:无法启动嵌入式Tomcat servlet容器

我是Spring Boot的新手,在运行我的应用程序时遇到错误。 我正在关注一个教程,我相信我有适当的父母和POM的依赖,请帮助我 主要课程: package com.boot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; /** * Hello world! * */ @SpringBootApplication public class App { public static void main( String[] args ) { SpringApplication.run(App.class, “hello”); } } 错误是: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat servlet container at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:165) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at […]

在Tomcat中部署的Spring Boot提供了404但是可以独立运行

我已经用嵌入式Tomcat测试Spring Boot大约一个月了,用于构建REST API。 一切都很好。 我们现在希望在单独的开发环境中部署API,该环境中有一些在Tomcat容器上运行的其他(非Spring)应用程序。 我使用Maven和Spring Boot Docs 将使用Spring Boot JAR应用程序转换为WAR中指定的更改。 部署顺利(日志很好,没有错误),看着Tomcat管理我看到我的应用程序已部署。 但是,当我尝试在curl中访问http:// localhost:8080 / sophia / users时 ,我得到404。 任何帮助深表感谢。 更新: 这是我的日志: Netbeans的: NetBeans:在Apache Tomcat 8.0.17配置文件模式下部署:false debug mode:false force redeploy:true 在/home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOT进行就地部署 部署正在进行中…… 部署?配置=文件%3A%2Ftmp%2Fcontext1845402702541504208.xml&路径= /蒿 OK – 在上下文路径/ sophia部署应用程序 开始正在进行中…… 启动?路径= /索菲娅 确定 – 在上下文路径/ sophia启动应用程序 Tomcat的: INFO 10:47:52:703 org.springframework.boot.context.embedded.ServletRegistrationBean – 将servlet:’dispatcherServlet’映射到[/ sophia / *] INFO […]