通过maven打造一个可执行war包问题
Hi 我目前尝试通过 java -jar app.war 便捷启动项目, 我使用的jfinal 内置jetty服务,通过maven构建打成war,其配置文件如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <archiveClasses>true</archiveClasses> <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors> <archive> <manifest> <addClasspath>true</addClasspath> < <classpathPrefix>lib/</classpathPrefix> <mainClass>com.yi.run.WebConfig</mainClass> </manifest> </archive> </configuration> </plugin>
可以完整打成war包,但是当我执行时就报了类找不到问题;
E:iyi.tvqim-dev-1.8im-webtarget>java -jar im-web.war
错误: 找不到或无法加载主类 com.yi.run.WebConfig
我分析到原因是我设置addClasspath 只是将WEB-INF/lib 下jar 引用进来,而com.yi.run.WebConfig 则在WEB-INF/classes下,所以无法加载到,但是我不知道怎么在maven pom.xml配置
以下是 生成 MANIFEST.MF 信息:
Manifest-Version: 1.0
Built-By: gez
Build-Jdk: 1.7.0_10
Class-Path: lib/im-core-0.0.1-SNAPSHOT.jar lib/jfinal-2.0.jar lib/cgl
ib-nodep-3.1.jar lib/cos-26Dec2008.jar lib/guava-14.0.1.jar lib/jms-a
pi-1.1-rev-1.jar lib/activemq-core-5.7.0.jar lib/geronimo-jms_1.1_spe
c-1.1.1.jar lib/kahadb-5.7.0.jar lib/activemq-protobuf-1.1.jar lib/mq
tt-client-1.3.jar lib/hawtdispatch-transport-1.11.jar lib/hawtdispatc
h-1.11.jar lib/hawtbuf-1.9.jar lib/geronimo-j2ee-management_1.1_spec-
1.0.1.jar lib/spring-context-3.0.7.RELEASE.jar lib/spring-aop-3.0.7.R
ELEASE.jar lib/aopalliance-1.0.jar lib/spring-beans-3.0.7.RELEASE.jar
lib/spring-core-3.0.7.RELEASE.jar lib/spring-expression-3.0.7.RELEAS
E.jar lib/spring-asm-3.0.7.RELEASE.jar lib/commons-net-3.1.jar lib/ja
sypt-1.9.0.jar lib/jedis-2.2.1.jar lib/commons-pool-1.6.jar lib/commo
ns-lang3-3.1.jar lib/cron4j-2.2.5.jar lib/ehcache-2.7.2.jar lib/qim-s
ervice-0.0.1-SNAPSHOT.jar lib/dom4j-1.6.1.jar lib/xml-apis-1.0.b2.jar
lib/fastjson-1.1.23.jar lib/httpclient-4.2.1.jar lib/commons-logging
-1.1.1.jar lib/commons-codec-1.6.jar lib/httpcore-4.2.1.jar lib/druid
-1.0.5.jar lib/freemarker-2.3.20.jar lib/jetty-server-8.1.8.jar lib/j
etty-xml-8.1.8.v20121106.jar lib/jetty-util-8.1.8.v20121106.jar lib/j
etty-servlet-8.1.8.v20121106.jar lib/jetty-security-8.1.8.v20121106.j
ar lib/jetty-server-8.1.8.v20121106.jar lib/javax.servlet-3.0.0.v2011
12011016.jar lib/jetty-continuation-8.1.8.v20121106.jar lib/jetty-htt
p-8.1.8.v20121106.jar lib/jetty-io-8.1.8.v20121106.jar lib/log4j-1.2.
16.jar lib/mysql-connector-java-5.1.20.jar lib/poi-3.10-FINAL.jar lib
/mail-1.4.3.jar lib/activation-1.1.jar lib/gson-2.2.2.jar lib/jackson
-databind-2.4.3.jar lib/jackson-annotations-2.4.0.jar lib/jackson-cor
e-2.4.3.jar lib/quartz-1.8.6.jar lib/slf4j-api-1.6.0.jar lib/cas-clie
nt-core-3.2.1.jar lib/javamelody-core-1.56.0.jar lib/jrobin-1.5.9.jar
Created-By: Apache Maven 3.1.0
Main-Class: com.yi.run.WebConfig
Archiver-Version: Plexus Archiver
麻烦指点一下。
我也找了下资料,但都不能帮助我解决
http://www.open-open.com/lib/view/open1387967014812.html
http://stackoverflow.com/questions/2458440/executable-war-file-that-starts-jetty-without-maven
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我也遇到同样的困惑
http://woxiangbo.iteye.com/blog/1927453
谁帮我解惑 解惑
@jfinal 大神 @红薯 哥哥
是war包 类似 jenkins 那种
你应该打包成为jar而不是war