使用一个Maven项目进入另一个Maven项目

问题描述

我有两个Maven项目,

  1. testmvn
  2. mvnusedemo

testmvn:

    <groupId>com.avs</groupId>
    <artifactId>testmvn</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>testmvn</name>

mvnusedemo:

    <groupId>com.avs</groupId>
    <artifactId>mvnusedemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mvnusedemo</name>

现在我在项目 testmvn

中有一个课程
package com.avs.Calculation;

public class AddNumbersME {
    public int addNumbers(int a,int b) {
        return a + b;
    }

    public int addNumbers(int a,int b,int c) {
        return a + b + c;
    }

}

我已经运行 mvn install cmd, 我获得了构建成功。 在本地仓库(.m2)中,我可以看到这些罐子

现在我正尝试在项目 mvnusedemo

中使用此类(AddNumbersME)
  1. mvnusedemo
  2. 的pom.xml中添加了依赖性
<dependency>
    <groupId>com.avs</groupId>
    <artifactId>testmvn</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

现在我可以在eclipse中看到添加到maven依赖文件夹的依赖了。

  1. 现在尝试使用** AddNumbersME **
    public static void main(String[] args) {
        SpringApplication.run(MvnusedemoApplication.class,args);
        AddNumbersME a = new AddNumbersME(); // getting error - Could not resolve 
    }

错误 AddNumbersME无法解析为java类

需要帮助,我是否缺少一些东西?

解决方法

我的一个朋友帮助了我, 需要在pom.xml中的build-> plugin内部提供执行 看起来像
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <classifier>exec</classifier>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

现在一切正常。

,

您在两个项目中具有相同的组ID。因此,仅使用import Calculation.AddNumbersME 不要添加com.avs!另一个建议:不要使用大写的程序包名称,例如Calculation。使用小写字母作为包名!