【问题标题】:How to package spring-boot to jar with local jar using maven如何使用 maven 将 spring-boot 打包到带有本地 jar 的 jar
【发布时间】:2018-01-25 03:44:46
【问题描述】:

我的系统中有一个 jar,我想使用 maven 将它打包到 jar 应用程序中,我的依赖项和插件如下:

       <dependency>
            <groupId>org.wltea</groupId>
            <artifactId>IKAnalyzer</artifactId>
            <version>3.2.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/BOOT-INF/lib/IKAnalyzer3.2.3Stable.jar</systemPath>
        </dependency>


    <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <mainClass>gpdi.MyApp</mainClass>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我也尝试过maven-dependency-plugin,但打包 jar 文件时不起作用。

   <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/${project.build.finalName}/BOOT-INF/lib</outputDirectory>
                        <includeScope>system</includeScope>
                    </configuration>
                </execution>
            </executions>
        </plugin>

【问题讨论】:

标签: java maven spring-boot jar


【解决方案1】:

添加以下插件并清理您的项目:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <executions>
        <execution>
            <id>install-Transformation lib</id>
            <phase>clean</phase>
            <configuration>
                <file>${basedir}/file/path/jarname.jar</file>
                <repositoryLayout>default</repositoryLayout>
                <groupId>org.wltea</groupId>
                <artifactId>IKAnalyzer</artifactId>
                <version>3.2.3</version>
                <packaging>jar</packaging>
                <generatePom>true</generatePom>
            </configuration>
            <goals>
                <goal>install-file</goal>
            </goals>
        </execution>
    </executions>
</plugin>  

清理项目后。评论 scopesystempath 如下所示,然后构建并安装:

<dependency>
    <groupId>org.wltea</groupId>
    <artifactId>IKAnalyzer</artifactId>
    <version>3.2.3</version>
    <!--scope>system</scope>
    <systemPath>${project.basedir}/src/main/BOOT-INF/lib/IKAnalyzer3.2.3Stable.jar</systemPath-->
</dependency>

【讨论】:

  • 是否有正确的方法将“system jar”修补到我的应用程序中?因为有几个同事和我一起工作,而且我们没有私有的maven仓库,想用git来共享项目中的“本地jar”。在这种情况下,我们都必须安装“本地jar”?
  • 把这个jar安装到本地仓库有帮助
猜你喜欢
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 2020-08-06
  • 2019-12-11
  • 1970-01-01
  • 2020-10-03
  • 2019-06-21
相关资源
最近更新 更多