我正在尝试创建一个函数,该函数下载带有URL服务器上的文件. 我在Tomcat 9上运行APEX.在服务器上有一个路径/文件夹/文件,其中包含我想使用URL下载的文件.我发现例如,我可以使用url easilly从/i/文件夹下载文件,例如http://{host}:{port}/i/css/apex.css.我试图在该文件夹中创建"到/文件夹/文件"的快捷方式. 现在有一个路径./i/files/.当我键入http://{host}:{port}/i/files/file1.pdf我得到404. 我该如何管理或有更好的方法? 解决方案 我找到了Simples解决方案.只需添加到server.xml行 现在,您必须记住用户有特权从此路径(相同的所有者或组或其他人的特权)读取/执行/搜索. 现在,我可以轻松地在Apex(http://{host}中使用URL:{port
以下是关于 tomcat9 的编程技术问答
Localhost的服务器Tomcat v9.0服务器无法在45秒内启动.如果服务器需要更多时间,请尝试增加服务器编辑器中的超时. 错误:无法创建Java虚拟机. 错误:发生致命的例外.程序将会退出. -djava.endorsed.dirs =/library/tomcat/不支持认可.认可标准和独立的API 模块化形式将通过可升级的模块的概念来支持. 我有Java 10和JDK JDK-10.0.1,Eclipse Java EE IDE用于Web开发人员. 版本:oxygen.3a版本(4.7.3a) 我尝试了这些帖子中的所有内容: eclips位置"禁用部分,需要更改以使用tomcat安装 我找不到此目录中的.snap文件 .metadata.plugins \ org.eclipse.core.Core.Resources删除它 此目录中没有临时文件 .metadata.plugins \ org.eclipse.wst.s
我们最近使用 mysql-java-connector(8.0.12)和新的驱动程序类名称,即 com.mysql,使用 mysql-java-connector(8.0.12)升级为5.6. cj.jdbc.driver 在数据库URL中.但是仅在此时区以下错误> "马来半岛标准时间" java.sql.sqlexception:无法创建PoolableConnectionFactory(服务器时区值" Malay Peninsula Standard Time"未识别或代表超过一个时区.您必须配置服务器或JDBC驱动程序(通过ServertimeZone配置属性)如果要使用时区支持,请使用更具体的时区值.) 相关原因:org.springframework.beans.factory.factory.beancurranceIncreationException:错误创建bean用名称" dynamentitymanagerfactory":当前在Creation中的Facto
我正在尝试从主机访问Tomcat Manager应用程序.端口发布成功,但是当试图访问Tomcat Manager时,我会收到404错误. 这是用于启动tomcat的命令: docker container run -p 8010:8080 --name mytomcat tomcat:9.0 并尝试通过URL访问它: http://localhost:8010/manager 从日志中,我可以确认tomcat正在运行,我可以从主机系统访问它,但是当访问管理器应用程序时,收到404. 解决方案 事实证明,所有默认的tomcat应用程序均已从webapps目录中删除了所有以tomcat版本7开头的tomcat图像. 所有应用程序已移至/usr/local/tomcat/webapps.dist目录,因此默认情况下不会启动它们.您可以阅读有关它的如果您仍然要访问这些默认应用程序,则可以将它们复制回WebApps目录,如果您需要: FROM tomcat
为什么与Tomcat一起使用端口8080但不是80? 解决方案 此答案仅适用于tomcat 9 ... 7和8已在Interwebs上进行了很好的记录. 您不能使用端口80,因为1024以下的端口仅限于Linux中的root Access,除非您使用AuthBind来覆盖该限制. 我在使用Ubuntu LTS 20.04,Tomcat 9.0.40时也遇到了同样的问题,这是我要解决的问题.我在这种特定情况之外没有承诺. 这是您使用SystemCtl启动和停止tomcat服务器.如果您在不太可能的Docker容器或Hyper-V VS中运行,并且这些说明完全不适合您的情况,但是它们应该足够近以使您度过难关.另外,我不会100次输入sudo ...如果您的root Access很棒,如果不是Sudo的所有前缀. 安装authbind apt-get install authbind for for for hou tomcat系统用户 设置auth
我正在使用tomcat9部署共享相同数据源连接池的多个应用程序.我实现了以下目的: 在conf/server.xml中添加数据源为GlobalNamingResources下的资源元素, 在conf/context.xml中使用resourcelink元素链接全局jndi资源以使其可用于所有Web应用程序, 使用Web应用程序中的JNDI访问数据源. 它正常工作. 但是,我有一个要求避免编辑任何XML(server.xml或conf/confect.xml或app特定context.xml),并尝试以编程方式实现步骤1和2.如果是这样,优势就是,只需要修改一个需要添加/lib的jar才能支持新的数据源,并且在任何XML上绝对没有任何修改(或在server.xml中使用最小配置). 是否有任何方法可以通过Java将资源定义为GlobalNamingResour,并通过Resourcelink将其链接到Web应用程序? 解决方案 我在穿越Tomcat Ja
tomcat的context.xml定义了cookieprocessor (默认LegacyCookieProcessor) 9.0-doc/config/cookie-processor.html 我正在尝试添加cookie处理器上显示的属性,但是似乎无法正常工作 我看不到设置带有samesite属性的tomcat的响应标题cookie 解决方案 在您的Web应用程序中,在Meta-Inf文件夹中创建一个内部的Context.xml文件. 如果您已经有context.xml文件,则只需添加cookieprocessor元素. 这种行为是可能的,因为Tomcat 9.0.21和8.5.42,或9.0.28和8.5.48如果需要将属性设置为"无". 2019年5月20日与Pull request 162
我之前使用了log4j 1.2,我最近迁移到log4j 2.0 我在web.xml中的log4j 1.2中使用以下侦听器类 org.springframework.web.util.Log4jConfigListener 在log4j 2.0之后删除此侦听器类,我想更换此侦听器类,该类使我可以在运行时更改记录器级别,并且在我的Web应用程序中不重新启动Tomcat服务而更新. 我尝试了以下侦听器,但是在更改log4j2.xml 中更改配置时,这也在重新启动tomcat org.apache.logging.log4j.core.web.Log4jContextListener 我在更改log4j2.xml时看到以下
我在应用程序中使用log4j 2作为记录框架,并在tomcat 9.0.54上运行它.现在,如果我部署了2个同一应用程序的实例,它将为第一个创建log4j实例,所有日志都转到第一个应用程序的日志文件. 例如,Tomcat/webapps有2个文件夹,即 App1 app2 在其下都有日志文件夹,但是仅在App1/logs中创建日志,并且两个应用程序的日志正在此处更新. 我尝试从Java配置它. System.setProperty("log4j.configurationFile", Class.forName("com.example.MyAppListener").getResource("/log4j2.xml").toString()); LoggerContext context = (LoggerContext) LogManager.getContext(false); if(!context.isInitialized()) { con
我已经下载了 liferay 7.3.5社区版本从这里用于测试目的的Portlet.它与Tomcat捆绑在一起. 我正在使用Liferay Developer Studio(类固醇上的相同的Eclipse)来开发和部署Portlet.版本3.8.1.202004240132-GA2 我还创建了一个服务器,例如上面的步骤之后,我遵循了在这里创建一个模块项目并将其部署在已经启动的Tomcat服务器上.该港口出现在部署的部分中,但附近有红色" x": 我去了为此目的创建的小部件页面中添加portlet/widtget,但是我找不到portlet: 然后,与管理员用户一起登录,我去了控制面板 - >应用程序管理器并搜索了我的portlet.它看起来为"已安装",我可以激活它.击中"激活"后,日食日志开始写作:ERROR [http-nio-8080-exec-8][PortletServlet:119] javax.portlet.PortletException: org.osgi.fr
尝试在Windows 10中使用JDK10在Tomcat 9中设置SSL.当我按照在线教程中使用"更改"的默认密码创建Java密钥库时,所有内容都可以正常工作,而Tomcat则没有错误. 但是,如果我使用"更改"以外的其他密钥库密码创建一个密钥库,则tomcat会引发此错误: Caused by: java.lang.IllegalArgumentException: keystore password was incorrect 这是创建一个密钥库的命令: keytool -genkey -alias tomcat -keyalg RSA -keystore c:\certificates\tomcatkeystore 这是可行的SSL连接器.
我是JSF的新手,并且已委托迁移我作为旧MyFaces 2.0 WebApp从WebLogic Server 12.1.3到Tomcat的任务(我选择了Tomcat 9和OpenWebBeans 2.0.20). 我在balusc的 page 因为 cdi-api-1.0.jar.jar 不做任何技巧. 我看到以下例外(请参阅完整的堆栈跟踪). 20-Jun-2022 19:46:25.718 INFO [main] org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces ServletContext 'C:\apache-tomcat-9.0.63\webapps\app1\' initialized. 20-Jun-2022 19:46:25.767 INFO [main] org.primefaces.webapp.PostConstructApplicationEventListener.proces
我有一个Springbootapplication,包装为战争文件: @SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } }
以前,当项目在Tomcat 8和Java 8上时,它运行良好,但是当我将项目迁移到Tomcat 9和Java 10时,它给我带来了错误的错误: Oct 05, 2018 11:02:01 AM org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable java.lang.IllegalArgumentException at jersey.repackaged.org.objectweb.asm.ClassReader.(ClassReader.java:170) at jersey.repackaged.org.objectweb.asm.ClassReader.(ClassReader.java:153) at jersey.repackaged.org.objectweb.asm.ClassReader.(Cla
我正在迁移Java项目使用JDK8使用JDK 11,然后发生错误的JAVAX激活. 遵循Oracle的迁移指南,之后,我建议添加第三方**激活1.0.2.jar*,但仍然发生了错误吗? 请给出有关问题的建议吗?您能告诉我有关迁移源代码的经验使用Java 8到Java 11(带有Tomcat 9.0.12的服务器.编译器Eclipse 2018-09(4.9.0) 这是详细错误: Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167) at java.base/java.lang.Class.getDe