【问题标题】:is it possible export projects as jar files and import this jars in other project to use project? [closed]是否可以将项目导出为 jar 文件并将此 jar 导入其他项目以使用项目? [关闭]
【发布时间】:2019-01-14 07:09:30
【问题描述】:
我想创建基于模块的项目。并想创建 spring 项目并将它们导出为 jar,然后在我的基础项目中导入该 jar 是否可能?
【问题讨论】:
-
是的。有可能的。您可以对当前项目执行mvn clean package。将生成 Jar 文件。您可以使用将 jar 导入本地的另一个项目,也可以在另一个项目的 pom 文件中使用 maven 工件导入。另见importing local jar
标签:
java
spring
maven
spring-tool-suite
【解决方案1】:
既然你已经添加了标签maven 我想你在你的项目中使用它。
如果你使用 Spring Boot
如果你构建一个 Spring Boot 应用程序,默认情况下输出是一个 fat jar,它不能用于导入任何其他项目。
但是你也可以在你的 spring boot 模块中使用 repackage 插件来创建一个简单的 jar!
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>boot</classifier>
</configuration>
</execution>
</executions>
</plugin>
在这种情况下,您将拥有
- 一个
projectname-0.0.1-SNAPSHOT-boot.jar(boot来自我在插件中定义的分类器,你可以选择任何其他名称)它是可运行的Spring Boot fat jar。
- 一个
projectname-0.0.1-SNAPSHOT.jar,可以导入到任何其他项目中。
如果你不使用 Spring Boot
然后只需 maven install 使用 maven 将您的项目添加为其他模块的 pom 的依赖项。
依赖的pom:
...
<groupId>com.your.group</groupId>
<artifactId>example-module</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
...
还有你依赖模块的 pom:
...
<dependencies>
...
<dependency>
<groupId>com.your.group</groupId>
<artifactId>example-module</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
...
</dependencies>
...