是否可以将项目导出为jar文件,并在其他项目中导入此jar以使用项目?

时间:2019-01-14 07:09:31

标签: java spring maven spring-tool-suite

我想创建基于模块的项目。并想创建spring项目并将其导出为jar,然后将其导入我的基础项目中?

1 个答案:

答案 0 :(得分:1)

由于您已添加标签maven,所以我想在项目中使用它。

如果您使用Spring Boot

如果您构建Spring Boot应用程序,则在默认情况下,输出将是一个胖子,并且不能导入任何其他项目。

但是您也可以在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.jarboot来自我在插件中定义的分类器,您可以选择其他任何名称),它是可运行的Spring Boot胖子。
  • 一个projectname-0.0.1-SNAPSHOT.jar,可以导入任何其他项目。

如果您不使用Spring Boot

然后使用maven简单地maven install您的项目,并将该模块作为对另一个模块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>
...