我写了一个模块。在 pom.xml 中,我使用 spring-boot 设置来构建项目:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.4.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<mainClass>ru.Main</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
</build>
在 IDEA 中执行 install jar 后,昵称会进入本地 maven 存储库 .m2/repository/
之后,我在 pom.xml 的新项目中向我的包添加依赖项:
<dependency>
<groupId>ru.bityard.asterisk</groupId>
<artifactId>ami</artifactId>
<version>1.0.0</version>
</dependency>
IDEA 看到并加载它。
现在我正在尝试从这个包中创建一个类的实例,但它不起作用...... IDEA 本身要求将导入添加到包中?我同意,没有任何反应...
我试图用我的双手书写路径
import ru.bityard.asterisk
但IDEA没有看到它......
我看到在maven加载的所有包中,classpath都是从包的根目录开始的,例如:
org/springframework/...
在我的包裹中,路径开始
BOOT-INF/classes/ru/...
也许这就是问题所在?帮助我理解。

很简单,
spring-boot-maven-plugin构建一个 spring-boot 应用程序就是最终产品。您还需要ami成为另一个项目的 API。有几种方法可以解决,例如添加分类器
ami.jar然后在组装过程中将创建两个 jars:ami-spring-boot.jar当install/deploy它只会进入存储库ami.jar- 这只是其他项目的 API。