能否出一个 tomcat.embed 运行的配置?

自己配了一个,发现不行: 


Tomcat tomcat = new Tomcat();  
String baseDir = "src/main/webapp/";//"src/main/webapp/";  
String webPort = "8089";
tomcat.setPort(Integer.valueOf(webPort));  
        
  
tomcat.addWebapp("/", new File(baseDir).getAbsolutePath());  
  
tomcat.start();  
tomcat.getServer().await();

 上面代码放在main中在eclipse是可以正常使用, 打包之后命令行下面报错:

( java -Djava.ext.dirs=WEB-INF/lib -cp WEB-INF/classes jf.RunInTomcat)

Dec 27, 2016 10:53:31 AM org.apache.catalina.startup.ContextConfig webConfig
信息: No global web.xml found
Dec 27, 2016 10:53:31 AM org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter jfinal
java.lang.RuntimeException: Can not create instance of class: jf.DemoConfig
	at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:98)
	at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:269)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:250)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:368)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4193)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4801)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:302)
	at jf.RunInTomcat.main(RunInTomcat.java:49)
Caused by: java.lang.ClassNotFoundException: jf.DemoConfig
	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:260)
	at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:96)
	... 20 more



评论区

JFinal

2016-12-27 12:01

jfinal 项目是符合 java web 规范的普通 web 项目,再多研究一下,肯定是可以的

scofier

2016-12-27 16:11

@JFinal 老大觉得哪里有问题?

scofier

2016-12-27 16:14

@JFinal 我将war包解压, 然后在目录里面执行的, baseDir设置为当前执行的目录

JFinal

2016-12-27 20:25

@scofier 没这方面使用经验,建议你到群里吼吼

scofier

2016-12-29 17:21

@JFinal 哪个群?

ThreeX

2017-08-17 11:47

看一下这哥们儿的这篇文章:还有示例代码。http://blog.csdn.net/hengyunabc/article/details/51069276

热门反馈

扫码入社