У меня есть миграция проекта из ant в maven.
Это приложение tomcat.
Но если я скомпилирую файл war с maven, то получу исключение после запуска файла war.
javax.naming.NameNotFoundException: имя [comp / env] не связано в этом контексте.Невозможно найти [comp].в org.apache.naming.NamingContext.lookup (NamingContext.java:817) в org.apache.naming.NamingContext.lookup (NamingContext.java:173) в org.apache.catalina.deploy.NamingResourcesImpl.cleanUp (NamingResourcesImpl.cleanUp (NamingResourcesImpl.cleanUp (NamingResourcesImpl.cleanUp): 994) в org.apache.catalina.deploy.NamingResourcesImpl.stopInternal (NamingResourcesImpl.java:976) в org.apache.catalina.util.LifecycleBase.stop (LifecycleBase.java:226) в org.apache.catalina.core.StandardContext.stopInternal (StandardContext.java:5476) в org.apache.catalina.util.LifecycleBase.stop (LifecycleBase.java:226) в org.apache.catalina.manager.ManagerServlet.undeploy (ManagerServlet.java:1456) в org.apache.catalina.manager.ManagerServlet.doGet (ManagerServlet.java:373) в javax.servlet.http.HttpServlet.service (HttpServlet.java:635) в javax.servlet.http.HttpServlet.servtvservice) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.javag3).catalina.core.: 193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:199) в org.ap.ore.StandardContextValve.invoke (StandardContextValve.java:96) по адресу org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:613) по адресу org.apache.catalina.core.StandardHostValve.invoke.valve в orh (Стандартный).apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.Java: 81) в org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:650) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:87) в org.apina.apina.ap.CoyoteAdapter.service (CoyoteAdapter.java:342) в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.jg или at.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:800) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1463) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.base / java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128) в java.base / java.util.concurrent.ThreadPoolExec.ExecJava: 628) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.base / java.lang.Thread.run (поток.java: 834)
Когда я компилирую с помощью ant, приложение запускается без проблем.
Это мой context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/AppControlServer">
<Resource name="jdbc/App" auth="Container"
type="javax.sql.DataSource" maxActive="50" maxIdle="10" maxWait="4000"
username="App" password="App"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/App"/>
</Context>
Приложениеиспользует hibernate, это мой hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.connection.datasource">java:comp/env/jdbc/App</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">managed</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">false</property>
<! -- entity mapping -->
</session-factory>
</hibernate-configuration>
Спасибо за вашу помощь