标签: tomcat8

Mac上的Tomcat 8的CATALINA_BASE/webapps文件夹在哪里?

我跑去brew install tomcat安装tomcat 8.

现在我需要把我的.war文件放进去CATALINA_BASE/webapps

我无法在计算机上的任何位置找到该目录.我怎样才能找到这个文件夹,这样我才能把它放在.war那里?

java macos tomcat catalina tomcat8

12
推荐指数
2
解决办法
2万
查看次数

Tomcat 8启用调试日志记录以列出不需要的jar

在Arch Linux ARM上启动Tomcat 8时,我收到以下警告:

信息:至少有一个JAR被扫描用于TLD但尚未包含TLD.为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表.在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间

我已经修改了$ {catalina.home} /logging.properties,如下所述:如何修复JSP编译器警告:一个JAR被扫描用于TLD但尚未包含TLD?

我将一些日志记录级别从INFO更改为FINE,取消注释"org.apache.jasper.compiler.TldLocationsCache.level = FINE"并添加了"org.apache.jasper.servlet.TldScanner.level = FINE".所以文件的结尾现在看起来如下:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host-manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host- manager] .handlers = 4host-manager.org.apache.juli.AsyncFileHandler

#例如,将org.apache.catalina.util.LifecycleBase记录器设置为log#扩展LifecycleBase更改状态的每个组件:#org.apache.catalina.util.LifecycleBase.level = FINE

#要在TldLocationsCache中查看调试消息,请取消注释以下行:org.apache.jasper.compiler.TldLocationsCache.level = FINE org.apache.jasper.servlet.TldScanner.level = FINE

但我仍然在启动时收到警告,而不是不需要的JAR路径.怎么了?

logging jsp tomcat tomcat8 archlinux-arm

11
推荐指数
2
解决办法
1万
查看次数

Spring Boot以编程方式设置配置文件

如何在spring boot应用程序中设置活动配置文件 此应用程序将部署在独立的Tomcat中.

我有2个属性文件application- {profile} .properties.

我的应用程序类

    @SpringBootApplication
        public class Application extends SpringBootServletInitializer {

            @Override
            protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {        
                return application.sources(Application.class);
            }

            public static void main(String[] args) {
               System.setProperty(AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAME, "dev");
 ApplicationContext ctx = SpringApplication.run(Application.class, args);
      }
    }
Run Code Online (Sandbox Code Playgroud)

如果我使用嵌入式tomcat运行应用程序,dev配置文件将设置为活动状态,并且工作正常.但是当我单独部署tomcat时.这是行不通的.

我尝试在configure方法中设置活动配置文件.但是当我从上下文中获取环境时,我得到空指针异常.

有关如何设置活动配置文件的任何帮助.

spring-profiles tomcat8 spring-boot

11
推荐指数
3
解决办法
7060
查看次数

将Spring Boot从1.3.7升级到1.4.0,导致AuthenticatorBase.getJaspicProvider中出现NullPointerException

这有点是由spring-boot-starter-jersey附带的tomcat-embed-core版本8.5.4引起的.它会在所有集成测试中生成如下所示的错误.它只有在我覆盖pom以使用tomcat-embed-core版本8.0.36时才有效.奇怪的是,这是我得到的唯一错误信息.

java.lang.NullPointerException: null
    at org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1140)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:431)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

这是我的依赖树:

[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ sample-services ---
[INFO] com.sample:sample-services:jar:1.0.0-SNAPSHOT
[INFO] +- com.sample:sample-customer:jar:1.0.0-SNAPSHOT:compile
[INFO] |  +- com.sample:sample-core:jar:1.0.0-SNAPSHOT:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE:compile
[INFO] |  |  |  +- org.springframework.boot:spring-boot-starter-aop:jar:1.4.0.RELEASE:compile
[INFO] |  |  |  |  \- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] |  |  |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.0.RELEASE:compile
[INFO] |  |  |  |  +- …
Run Code Online (Sandbox Code Playgroud)

spring tomcat8 spring-boot

11
推荐指数
1
解决办法
3832
查看次数

APR错误:-730054

我们收到与AXIS2 1.7.3相关的错误.我们使用最新的Java8运行Tomcat8.

java.io.IOException: APR error: -730054
org.apache.axis2.AxisFault: java.io.IOException: APR error: -730054 
      at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:365) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:244) 
      at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:514) 
      at org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:450) 
      at org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:415) 
      at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:205) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at ad.common.GZipServletFilter.doFilter(GZipServletFilter.java:53) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
      at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) 
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) 
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489) 
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
      at java.lang.Thread.run(Thread.java:745) 
Caused …
Run Code Online (Sandbox Code Playgroud)

java axis2 apr tomcat8

11
推荐指数
1
解决办法
6896
查看次数

Tomcat 8上使用jTDS JDBC驱动程序的AbstractMethodError

我正在将Web应用程序(WAR)部署到Tomcat 8 Web容器.

WAR在'/ WEB-INF/lib'目录中包含以下jTDS JDBC驱动程序:

<dependency org="net.sourceforge.jtds" name="jtds" rev="1.3.1" />
Run Code Online (Sandbox Code Playgroud)

(文件是:) jtds-1.3.1.jar.

这是资源的定义方式META-INF/context.xml:

<Resource name="jdbc/jtds/sybase/somedb"
          auth="Container"
          type="javax.sql.DataSource"
          driverClassName="net.sourceforge.jtds.jdbc.Driver"
          url="jdbc:jtds:sybase://localhost:2501/somedb"
          username="someuser" password="somepassword"
/>
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我以正常方式获取javax.sql.DataSource:

InitialContext cxt = new InitialContext();
if ( cxt == null ) {
    throw new RuntimeException("Uh oh -- no context!");
}
DataSource ds = (DataSource) cxt.lookup( lookupName );
Run Code Online (Sandbox Code Playgroud)

我进一步验证(通过打印)DataSource对象ds是期望的类型:

org.apache.tomcat.dbcp.dbcp2.BasicDataSource
Run Code Online (Sandbox Code Playgroud)

...但是当我尝试从中获取连接时:

Connection conn = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)

......我得到以下描述:

java.lang.AbstractMethodError
net.sourceforge.jtds.jdbc.JtdsConnection.isValid(JtdsConnection.java:2833)
org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:924)
org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:282)
org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:359)
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2316)
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2299)
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2043)
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1543)
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?

jtds tomcat8

11
推荐指数
2
解决办法
7684
查看次数

通过tomcat.service为tomcat8设置umask

我正在尝试为tomcat 8实例设置自定义umask,试图通过在systemd tomcat单元中使用UMask指令使其成为一种好方法,如此处所示,没有运气.

我想设置022 umask,因为公司开发人员需要访问tomcat /应用程序日志,并且它们与tomcat用户不在同一组中....

疯狂的是systemd doc说:

控制文件模式创建掩码.采用八进制表示法访问模式.有关详细信息,请参阅umask(2).默认为0022.

但是日志(application/tomcat)设置为640(不是预期的755):

-rw-r----- 1 top top 21416 Feb  1 09:58 catalina.out
Run Code Online (Sandbox Code Playgroud)

我的服务文件:

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[...]

User=top
Group=top
UMask=0022

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

谢谢

umask systemd tomcat8

11
推荐指数
1
解决办法
1万
查看次数

如何在tomcat 8.5的URL中允许^字符

我有一个以下格式的请求网址

http://hostname:port/path&param1={"vars":[{"a":"val1","b":"^"},{"c":"val2","d":"^"}]}&param2=Value3|95|3%20-%206%20Months
Run Code Online (Sandbox Code Playgroud)

我根据这个stackoverflow问题更改了catalina.properties .

但按照Tomcat文档 tomcat.util.http.parser.HttpParser.requestTargetAllow财产已被弃用,relaxedPathCharsrelaxedQueryChars属性要与连接器标签代替.

但是,当我将xml文件更改为下面

 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" relaxedQueryChars="^" relaxedPathChars="^"/>
Run Code Online (Sandbox Code Playgroud)

我仍然得到400个字符的错误请求^

我不确定这是否是正确的配置.

tomcat8

11
推荐指数
2
解决办法
1万
查看次数

java.lang.ClassNotFoundException sun.misc.GC

版本 Java:10.0.1 Tomcat:8.0.36 Ubuntu:18.04(64位)Eclipse:Photon(64位)

错误:当我运行Tomcat服务器时,我发现以下错误.如果可能,请不要告诉我减少版本,因为我喜欢使用最新技术.

    SEVERE: Failed to trigger creation of the GC Daemon thread during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
java.lang.ClassNotFoundException: sun.misc.GC
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:291)
at org.apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.java:286)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:394)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
at org.apache.catalina.startup.Catalina.load(Catalina.java:580)
at org.apache.catalina.startup.Catalina.load(Catalina.java:603)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)
Run Code Online (Sandbox Code Playgroud)

java eclipse tomcat8 java-10 ubuntu-18.04

11
推荐指数
1
解决办法
4751
查看次数

发现了多个名称为[spring_web]的片段。相对顺序不合法

我有一个Spring Boot应用程序,当我使用来自Intellj的嵌入式服务器运行它时,它运行良好。但是,当我将其打包到.war文件并将其部署在tomcat上时,出现以下错误:

    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/file-upload-0.0.1-SNAPSHOT]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at 

     org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
    at 
   org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at  
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
    at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2200)
    at 
  org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2159)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1124)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at 

 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5176)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc tomcat8 spring-boot

11
推荐指数
8
解决办法
2万
查看次数