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)
  • 相关阅读:
    使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现*.HTML伪静态 无需修改应用程序映射
    我的第二个智能手机 HKC G801 严重质量问题 USB接口坏后解决办法
    JQuery的跨域方法 可跨新浪、腾讯等任意网站
    IIS7下使用MSDNURLRewriting.msi开源组件的设置
    面向对象编程,真离不开设计模式?
    jQuery 的filter(),not(),split()用法
    2008年总结
    程序中 同步和异步的经典解释 (一听就懂)
    2009年元旦前祝福 开心一下
    到底什么是SOA?
  • 原文地址:https://www.cnblogs.com/libin6505/p/13488871.html
Copyright © 2011-2022 走看看