0
点赞
收藏
分享

微信扫一扫

Spring Cloud Maven 打jar包 调用 Spring 依赖 使用本地库或中央库

少_游 2022-08-02 阅读 35


Spring Cloud Maven 打包使用 

 

配置启动类:

<mainClass>com.us.App</mainClass>

设置依赖包路径:

<outputDirectory>
${project.build.directory}/lib
</outputDirectory>

启动依赖包:

<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>

执行达到效果:

        1.在打包的target下生成lib目录

        2.lib目录会自动生成需要依赖的jar包

        3.在配置的启动main类中 可以直接调用这些spring cloud 的依赖包

 

有需要也可以价格这么个东西:start-class

    <properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>com.shanshui.yunyang.BaseApplication</start-class>
</properties>

 

可用finalName 设置打包的名称


<finalName>bi_job</finalName>

  • 将finalName 放入到 build 节点下 即可

 

实例: 在porject 下的 pom.xml中加入下面配置

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<!--change addClasspath to true if daks is desktop version-->
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.us.App</mainClass>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Permissions>${Permissions}</Permissions>
<Caller-Allowable-Codebase>${Caller-Allowable-Codebase}</Caller-Allowable-Codebase>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<configuration>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

 

        做程序不要放弃学习,就啥都可以搞成,还在搞各种复杂问题的时候,歇一下,然后仔细分析细节寻找问题的切入口,一步一步解决,直到全部解决完成!

更新内容

今天来回切换发现一个新的问题 java.lang.NoClassDefFoundError: javax/servlet/ServletContext

这大哥就有点小不开心了 搞它

Spring Cloud Maven 打jar包 调用 Spring 依赖 使用本地库或中央库_maven

解决这个问题的思路是找到依赖中的

  • Spring Cloud Maven 打jar包 调用 Spring 依赖 使用本地库或中央库_java_02

把这玩意注释掉即可    <!--   <scope>provided</scope>  -->

^_^ 搞定后开心哈哈哈,突然一看发现还有一个小坑,哼,弄它

之后有发现个报错

Spring Cloud Maven 打jar包 调用 Spring 依赖 使用本地库或中央库_java_03

这玩意是因为下图这个没注释掉 provided  

Spring Cloud Maven 打jar包 调用 Spring 依赖 使用本地库或中央库_maven_04

注释的ok了

看它还敢不敢再出问题,再出揍它,小东西 (~ ̄▽ ̄)~  (~ ̄▽ ̄)~

^_^搞定后开心起来 哈哈

 

持续更新

 

 

配置utf-8 

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

 

 

献上一个打全部达到jar中的配置

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>${start-class}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.superman.quartz.Quartz_Group_Application</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>

</build>

只需要修改 main启动类就ok楼

 

 

 

文章持续更新,转发表明出处方便更新!

 

 

 

 

举报

相关推荐

0 条评论