【问题标题】:Maven: Can I package only dependencies(without app) in a jar?Maven:我可以只将依赖项(没有应用程序)打包在 jar 中吗?
【发布时间】:2018-02-14 15:12:04
【问题描述】:

我有一个遗留的 JAVA 项目,它使用 ant 进行构建。由于这个项目的jar依赖管理真的很繁琐,所以打算集成maven。

我尝试将maven 仅用于依赖管理,并继续使用ant 进行构建。我正在考虑使用 maven 生成一个包含所有依赖项的单个 jar,然后我将在我的应用程序的类路径中包含这个单个 jar。

我知道这可能不是最好的方法,但可以这样做吗? 什么可能是更好的方法?

【问题讨论】:

    标签: maven ant maven-antrun-plugin


    【解决方案1】:

    我将创建一个 pom.xml 文件(包含所有必需的字段,如 groupId、artifactId ...),将所有依赖项添加到这个 pom,并将 maven 程序集插件添加到这个 pom。执行mvm assembly:single 命令。将创建包含所有依赖项的 jar。

    <build>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>    
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>
        </plugin>
      </plugins>
    </build>
    

    【讨论】:

    • @theLearner 如果你不在这个 pom 中为你的应用添加依赖,它不会包含它。将其视为没有任何源代码的新项目。但是在这个 pom xml 中,你必须像任何 maven pom 一样定义 groupId artifactId。
    • 你对我不完美的问题给出了完美的答案。我接受了这个答案,并以不同的意义/背景将我的问题发布在:stackoverflow.com/questions/48799725/…。请看一下,如果你也能回答这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2010-10-08
    • 1970-01-01
    • 2012-11-01
    • 2020-06-02
    相关资源
    最近更新 更多