1,看了sprint boot的启动内置tomcat的方式,很好奇,就有了下面的尝试。
import org.apache.catalina.LifecycleException; import org.apache.catalina.startup.Tomcat; import javax.servlet.ServletException; import java.io.File;
public static void main(String[] args) throws Exception { System.out.println("hello tomcat"); new MyTest().start(); } public void start() throws Exception{ Tomcat tomcat= new Tomcat(); String projectPath=new File("C:\\Users\\Administrator\\Downloads\\apache-tomcat-7.0.81").getAbsolutePath(); tomcat.setBaseDir(projectPath); //Embeded tomcat存放路径 tomcat.setPort(8080); try {
// 经过测试,这个路径必须要指定,可以是静态,可以是动态 tomcat.addWebapp("", projectPath+"\\webapps\\examples");//应用存放路径 } catch (ServletException e) { e.printStackTrace(); throw e; } try { tomcat.start(); // 启动 } catch (LifecycleException e) { e.printStackTrace(); } System.out.println("Tomcat started."); tomcat.getServer().await(); // 这个一定要 }
注意:需要导入lib下的jar包和bin下的三个jar包