zoukankan      html  css  js  c++  java
  • springboot打jar包【我】

    如果打好的jar包在linux上无法运行,找不到main入口,可以改下pom文件,在下面增加build信息:|

     </dependencies>
        <build>
            <!--<plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <includeSystemScope>true</includeSystemScope>
                    </configuration>
                </plugin>
            </plugins>-->
            <plugins>
                <!-- 指定启动类,将依赖打成外部jar包 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件 -->
                            <addMavenDescriptor>false</addMavenDescriptor>
                            <manifest>
                                <!-- 是否要把第三方jar加入到类构建路径 -->
                                <addClasspath>true</addClasspath>
                                <!-- 外部依赖jar包的最终位置 -->
                                <classpathPrefix>lib/</classpathPrefix>
                                <!-- 项目启动类 -->
                                <mainClass>com.yourstartclass.YourServiceApplication</mainClass>
                            </manifest>
                            <!--<manifestEntries>
                                <Class-Path>${basedir}/../../tydic-ctsku-cloud-tools/tydic-ctsku-cloud-ctcache/lib/*.jar</Class-Path>
                            </manifestEntries>-->
                        </archive>
                    </configuration>
                </plugin>
                <!--拷贝依赖到jar外面的lib目录-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-lib</id>
                            <phase>package</phase>
                            <goals>
                                <goal>copy-dependencies</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>target/lib</outputDirectory>
                                <excludeTransitive>false</excludeTransitive>
                                <stripVersion>false</stripVersion>
                                <includeScope>runtime</includeScope>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

    然后部署的时候记得把target下生成的 lib目录和jar放到同一个目录下,直接启动jar就可以了。

    否则可能出现如下错误:

    [ctsku@localhost pay_center_service]$ java -jar pay-service-1.0.0.jar 
    Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
            at com.tydic.ctsku.cloud.pay.PayServiceApplication.main(PayServiceApplication.java:13)
    Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
            at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  • 相关阅读:
    Android-PullToRefresh 下拉刷新增加setOnItemLongClickListener
    【453】周志华-机器学习-读书笔记
    【452】pandas筛选出表中满足另一个表所有条件的数据
    【451】python 同一行打印进度条
    【449】Win10 蓝牙耳机链接没有声音
    HBase(一)HBase入门简介
    kafka可视化客户端工具(Kafka Tool)的基本使用
    Kafka(五)Kafka的API操作和拦截器
    Kafka(四)Kafka在zookeeper中的存储
    Kafka(三)Kafka的高可用与生产消费过程解析
  • 原文地址:https://www.cnblogs.com/libin6505/p/13488871.html
Copyright © 2011-2022 走看看