Ubuntu 14.04
mvn通过 `update-alternatives安装和更改版本后,配置保持不变。
脚步
安装新版本 mvn
sudo update-alternatives --install /usr/bin/mvn mvn /opt/maven/apache-maven-3.5.0/bin/mvn 100
Run Code Online (Sandbox Code Playgroud)检查替代品
$ sudo update-alternatives --config mvn
There are 2 choices for the alternative mvn (providing /usr/bin/mvn).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/maven/apache-maven-3.3.9/bin/mvn 100 auto mode
1 /opt/maven/apache-maven-3.3.9/bin/mvn 100 manual mode
2 /opt/maven/apache-maven-3.5.0/bin/mvn 10 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /opt/maven/apache-maven-3.5.0/bin/mvn to provide /usr/bin/mvn (mvn) in manual mode
Run Code Online (Sandbox Code Playgroud)更换新的替代品
$ sudo update-alternatives --config mvn …Run Code Online (Sandbox Code Playgroud)Tomcat7:7.0.30-0ubuntu1.1
Tomcat 7 有 jar 文件 commons-dbcp.jar 和 tomcat-dbcp.jar,但在 tomcat-dbcp.jar 中,它是文件 org.apache.tomcat。dbcp .BasicDataSourceFactory 类而不是 org.apache.tomcat。正在寻找的dbcp.dbcp .BasicDataSourceFactory。
根本原因
javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:121)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
org.apache.naming.NamingContext.lookup(NamingContext.java:843)
org.apache.naming.NamingContext.lookup(NamingContext.java:154)
org.apache.naming.NamingContext.lookup(NamingContext.java:831)
org.apache.naming.NamingContext.lookup(NamingContext.java:168)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)