qq_32225719
番茄炒蛋lx
采纳率75%
2018-09-16 05:27 阅读 1.1k
已采纳

springboot 项目 打jar 包发布 遇到的问题求 各位指导.谢谢大家

最近在练习 springboot +mybatis 做了 一个简单的 例子 想试试 springboot打包发布

在windows 上 java jar 后

   .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.4.RELEASE)

2018-09-16 13:00:43.114  INFO 11160 --- [           main] com.lxpro.LxManagerWebApplication        : Starting LxManagerWebApplication v0.0.1-SNAPSHOT on DESKTOP-NQKSBGJ with PID 11160 (C:\Users\lx\Desktop\lx-manager-web-0.0.1-SNAPSHOT.jar started by lx in C:\Users\lx\Desktop)
2018-09-16 13:00:43.114  INFO 11160 --- [           main] com.lxpro.LxManagerWebApplication        : No active profile set, falling back to default profiles: default
2018-09-16 13:00:43.223  INFO 11160 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@13b6d03: startup date [Sun Sep 16 13:00:43 CST 2018]; root of context hierarchy
2018-09-16 13:00:43.958  WARN 11160 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[com.lxpro.mapper]' package. Please check your configuration.
2018-09-16 13:00:44.067  WARN 11160 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[com.lxpro]' package. Please check your configuration.
2018-09-16 13:00:44.114  INFO 11160 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2018-09-16 13:00:44.504  INFO 11160 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$f69c77ae] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-09-16 13:00:45.239  INFO 11160 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-09-16 13:00:45.270  INFO 11160 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-09-16 13:00:45.270  INFO 11160 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.32
2018-09-16 13:00:45.285  INFO 11160 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [E:\java-jdk\jdk1.8.0_112\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Common Files\NetSarang;E:\java-jdk\jdk1.8.0_112\bin;E:\softHome\mavenHome\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin;E:\softHome\mysql-5.6.38-winx64\bin;E:\softHome\svnHome\bin;E:\softHome\TortoiseGit\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\lx\AppData\Local\Microsoft\WindowsApps;;.]
2018-09-16 13:00:45.395  INFO 11160 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-09-16 13:00:45.395  INFO 11160 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2172 ms
2018-09-16 13:00:45.410  INFO 11160 --- [ost-startStop-1] com.lxpro.web.config.DruidConfiguration  : init Druid Servlet Configuration
2018-09-16 13:00:45.520  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet statViewServlet mapped to [/druid/*]
2018-09-16 13:00:45.535  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-09-16 13:00:45.535  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-09-16 13:00:45.551  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-09-16 13:00:45.551  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-09-16 13:00:45.551  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-09-16 13:00:45.551  INFO 11160 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'webStatFilter' to urls: [/*]
2018-09-16 13:00:45.738  WARN 11160 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.lxpro.web.controller.helloController] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@1d56ce6a]
2018-09-16 13:00:45.738  INFO 11160 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2018-09-16 13:00:45.785  INFO 11160 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-09-16 13:00:45.801 ERROR 11160 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.lxpro.web.controller.helloController] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@1d56ce6a]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:261) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1120) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) [spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:398) [spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:330) [spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1258) [spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.4.RELEASE.jar!/:2.0.4.RELEASE]
        at com.lxpro.LxManagerWebApplication.main(LxManagerWebApplication.java:14) [classes!/:0.0.1-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [lx-manager-web-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [lx-manager-web-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [lx-manager-web-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:593) [lx-manager-web-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.lxpro.web.controller.helloController] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@1d56ce6a]
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:659) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:556) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:541) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:244) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        ... 26 common frames omitted
Caused by: java.lang.NoClassDefFoundError: com/lxpro/entity/User
        at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_112]
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_112]
        at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_112]
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:641) ~[spring-core-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
        ... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.lxpro.entity.User
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_112]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_112]
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) ~[lx-manager-web-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_112]
        ... 33 common frames omitted

应该 是 jar中 没有依赖 moudel 的 jar 但是 我查看过有发现不是的

贴下 pom

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.lxpro</groupId>
    <artifactId>lx-manager-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>lx-manager-web</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <artifactId>lx-pom</artifactId>
        <groupId>com.lxpro</groupId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../../lx-pom/pom.xml</relativePath>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.lxpro</groupId>
            <artifactId>lx-manager-service</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.lxpro.LxManagerWebApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>


</project>

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    zhangpan_soft zhangpan_soft 2018-09-17 10:01

    springboot有包规则的假如你的启动类所在包是com.zpecs,那么只能对com.zpecs.**.*下面的类进行访问,也就是同包,或者是其子包,假如你的某个类放在com.test下则无法访问,此其一
    如果你想使用@Autowire依赖注入,那么你的主类必须是spring托管的,也就是必须有@Component注解或者其子注解,比如@Service等等,此其二
    第三,你的启动类上面,必须有@SpringBootApplication,注解,2.0之前,还要有@EnableAutoConfiguration@ComponentScan,一般要添加@EnableAsync注解和@EnableTransactionManagement事物托管,此其三,
    排查这3点是否全部符合,若符合,你的问题就解决了

    点赞 评论 复制链接分享
  • Lei_Da_Gou Lei_Da_Gou 2018-09-17 01:56

    先install子包到maven仓库。在install父包。

    点赞 评论 复制链接分享
  • qq_40631940 qq_40631940 2018-09-17 09:17

    jar如果发布的发,还是给为war试试----善知软件培训

    点赞 评论 复制链接分享

相关推荐