2017-08-24 152 views
1

我是新来的maven,我已经完成我的应用程序,我可以从日食lauch它,没有错误,当我运行mvn clean package,但我试图与mvn spring-boot:run lauch它,我已经这个错误:推出多模块maven/spring项目

java.lang.ClassNotFoundException: com.o2xp.ats.utils.App 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:522) 
    at java.lang.Thread.run(Thread.java:748) 

但我指定我的主类的路径父POM:

<groupId>com.o2xp</groupId> 
    <artifactId>ats-parent</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <name>ats-parent</name> 

    <modules> 
     <module>ats-api</module> 
     <module>ats-impl</module> 
     <module>ats-client</module> 
    </modules> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <start-class>com.o2xp.ats.utils.App</start-class> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 

     <!-- Version --> 
     <immutables.version>2.5.5</immutables.version> 

    </properties> 

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.6.1</version> 
       <configuration> 
        <source>${maven.compiler.source}</source> 
        <target>${maven.compiler.target}</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
       <version>1.5.4.RELEASE</version> 
       <configuration> 
        <mainClass>com.o2xp.ats.utils.App</mainClass> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

主类是从模块的子模块中的ATS-IMPL这是一个ats-parent模块

你能解释一下我的配置有什么问题吗?如果可能有一个清晰而详细的教程,它可以帮助我理解这是如何工作的。

回答

0

尝试repackage目标添加到插件

 <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>repackage</goal> 
        </goals> 
        <configuration> 
         <classifier>exec</classifier> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

它没有工作,我有同样的错误。 –

0

我已经使用这个命令mvn exec:java -pl ats-utils -Dexec.mainClass=com.o2xp.ats.utils.App我指定我只好跑从ATS-IMPL模块此命令(看我POM)取得成功。