Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动多模块maven/spring项目_Java_Spring_Maven_Spring Mvc_Spring Boot - Fatal编程技术网

Java 启动多模块maven/spring项目

Java 启动多模块maven/spring项目,java,spring,maven,spring-mvc,spring-boot,Java,Spring,Maven,Spring Mvc,Spring Boot,我是maven新手,我已经完成了我的应用程序,我可以从eclipse启动它,当我运行mvn clean package时没有错误,但我尝试使用mvn spring boot:run启动它,我遇到了以下错误: java.lang.ClassNotFoundException: com.o2xp.ats.utils.App at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassL

我是maven新手,我已经完成了我的应用程序,我可以从eclipse启动它,当我运行
mvn clean package
时没有错误,但我尝试使用
mvn spring boot:run
启动它,我遇到了以下错误:

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>
com.o2xp
ats父代
0.0.1-快照
聚甲醛
ats父代
ats api
ats impl
ats客户端
UTF-8
com.o2xp.ats.utils.App
1.8
1.8
2.5.5
org.apache.maven.plugins
maven编译器插件
3.6.1
${maven.compiler.source}
${maven.compiler.target}
org.springframework.boot
springbootmaven插件
1.5.4.1发布
com.o2xp.ats.utils.App
maven汇编插件
带有依赖项的jar
主类位于ats父模块ats impl的子模块中


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

尝试向插件添加
重新打包
目标

       <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>

org.springframework.boot
springbootmaven插件
重新包装
执行官

尝试将
重新打包
目标添加到插件中

       <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>

org.springframework.boot
springbootmaven插件
重新包装
执行官

我成功地使用了这个命令
mvn exec:java-pl ats utils-Dexec.mainClass=com.o2xp.ats.utils.App
我指定必须从ats impl模块运行这个命令(查看我的pom)