通过maven打造一个可执行war包问题

发布于 2021-12-02 13:15:58 字数 3935 浏览 922 评论 4

@jfinal

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

狼亦尘 2021-12-06 12:40:09

我也遇到同样的困惑
http://woxiangbo.iteye.com/blog/1927453

伪装你 2021-12-06 12:08:18

谁帮我解惑 解惑

@jfinal 大神  @红薯 哥哥

长安忆 2021-12-06 09:38:57

是war包 类似 jenkins 那种

晚风撩人 2021-12-06 02:50:13

你应该打包成为jar而不是war

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文