大家好,又见面了,我是你们的朋友全栈君。
因项目需要,在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
解决方法:
把<scope></scope>
注释掉以后,正常运行
然后放在服务器上运行,后续更新。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150924.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...