关于maven项目打jar包运行main方法

关于maven项目打jar包运行main方法因项目需要,在main方法中需读取spring配置文件,完成插入操作。然后打包成jar包,运行main方法。具体操作:main方法中读取spring文件:ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext(“spring-mybatis.xml”);要改成你自己的配置文件。Service…

大家好,又见面了,我是你们的朋友全栈君。

因项目需要,在main方法中需读取spring配置文件,完成插入操作。然后打包成jar包,运行main方法。
具体操作:
main方法中读取spring文件:

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-mybatis.xml");
要改成你自己的配置文件。

Service es = context.getBean(Service.class);
es.insert();
大体就是这样,在main方法中读取配置文件,一些具体操作要根据项目进行。

接下来打jar包,使用了maven-shade-plugin插件。
参考https://blog.csdn.net/defonds/article/details/43233131这篇文章,
写的很详细。

<packaging>jar</packaging>
打包方式记得要是jar

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<filters>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<exclude>META-INF/*.SF</exclude>
										<exclude>META-INF/*.DSA</exclude>
										<exclude>META-INF/*.RSA</exclude>
									</excludes>
								</filter>
							</filters>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>这里指定你要运行的main主类</mainClass>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.handlers</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.schemas</resource>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>

打jar的话直接maven install或者在你的pom文件这层目录下 执行 mvn clean package命令。
打包完成后可在你的target目录下查看打包好的jar包。
接下来运行jar包,刚开始运行的时候一直报错

java.lang.NoClassDefFoundError: javax/servlet/ServletContext

解决方法:
关于maven项目打jar包运行main方法
<scope></scope>注释掉以后,正常运行
然后放在服务器上运行,后续更新。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150924.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号