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)
  • 相关阅读:
    越狱第三季开播了
    永远成长的苹果树
    最强最短的武侠小说
    买房和租房15年后的巨大差别[好文转载]
    秋凉了,大家别加班了,早回吧:)
    dedecms dede_archives表中arcrank和ismake两个字段的理解
    asp.net c#读取word 文档的方法
    css实现不固定长度圆角按钮,兼容所有浏览器
    js keyup、keypress和keydown事件 详解
    android中使用webview缓存网页
  • 原文地址:https://www.cnblogs.com/libin6505/p/13488871.html
Copyright © 2011-2022 走看看