首页 > 解决方案 > 是否可以将项目导出为 jar 文件并将此 jar 导入其他项目以使用项目?

问题描述

我想创建基于模块的项目。并想创建spring项目并将它们导出为jar,然后在我的基础项目中导入该jar,这可能吗?

标签: javaspringmavenspring-tool-suite

解决方案


由于您添加了标签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>

在这种情况下,您将拥有

  • A projectname-0.0.1-SNAPSHOT-boot.jarboot来自我在插件中定义的分类器,你可以选择任何其他名称)这是可运行的Spring Boot fat jar。
  • Aprojectname-0.0.1-SNAPSHOT.jar可以导入到任何其他项目。

如果你不使用 Spring Boot

然后只需maven install使用 maven 将您的项目添加到另一个模块的 pom.xml 中作为依赖项。

依赖的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>
...

推荐阅读