首页 > 解决方案 > 使用 Maven 依赖项和外部 jar 构建可执行 jar

问题描述

我有一个应用程序,其中我使用 maven 依赖项,并且我还使用位于我的计算机中的项目的外部 jar,该项目被手动添加到应用程序中。问题是每当我用 maven 导出项目时,它只导出所有 maven 依赖项,而不是我手动包含的 externatl jar。无论如何我可以导出它吗?

这是我的 pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>
                            ${project.build.directory}/libs
                        </outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>libs/</classpathPrefix>
                        <mainClass>
                            com.cristianruizblog.loginSecurity.LoginSecurityTutorialApplication
                        </mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

谢谢阅读。如果有人可以帮助我会很高兴!

标签: javamaven

解决方案


正如@M所说。Deunum,尝试将您的外部 jar 放入 Maven 存储库,以避免启用任何机器来构建您的 jar。如果这不是选项,您可以使用 Maven系统依赖范围来包含 jar。请注意,这只是一个临时解决方案,因为此范围已被标记为已弃用。


推荐阅读