当前位置: 首页 > 知识库问答 >
问题:

Maven:导出jar,将第三方jar添加到清单中的类路径中

祁曦哲
2023-03-14

maven-assembly-plugin,它对1)很有效。但是,我找不到一个还包括非maven依赖项的maven插件,例如“/lib中的所有jar”

然后是Eclipsefatjar插件,它可以工作,但自2009年以来就没有更新过,所以看起来没有维护。另外,我更喜欢在pom.xml中直接指定的导出方法。

有人能给我指出Maven插件之类的东西来导出所有引用的库(包括案例2)吗?这只需要将它们放入jar并在清单的类路径中引用它们。

谢了!

共有1个答案

魏泰
2023-03-14

我认为处理这一问题的最佳方法是将您的自定义库包含到本地maven存储库中。现在,您可以将库作为maven依赖项嵌入,并且可以使用maven-assembly-plugin导出pom中指定的所有依赖项。

下面是一个教程,如何将lib放入maven中的本地存储库中,以便在POM中使用它。http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/

在pom.xml中:

<!-- setup jar manifest to executable with dependencies -->
<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
    <archive>
      <manifest>
        <mainClass>your.main.class</mainClass>
      </manifest>
    </archive>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
       <goal>single</goal>
      </goals>  
    </execution>
  </executions>
</plugin>
 类似资料:
  • 问题内容: 我有一种不寻常的情况,我需要在可执行jar的清单中添加一个任意的classpath条目(指向jar文件)。(这是针对Swing桌面应用程序的。) maven-jar-plugin使用maven依赖项为jar清单生成“ Class-Path”条目,并且似乎没有任何添加任意条目的方法。 我还研究了使用“ -classpath”参数将任意类路径条目硬编码到启动应用程序的批处理文件中,但是我不

  • 问题内容: 在运行于Java 8的应用程序中,我正在使用将jar添加到引导类路径的方法。在Java 9中,该选项已删除。在Java 9中执行相同操作的替代方法是什么? 问题答案: 您可以使用。请参考发行说明,其中指出: 在此版本中,引导类路径已被大部分删除。Java 和选项已被删除。 仅当编译到JDK 8或更早版本时,才可以使用该选项。系统属性已被删除。 出于测试目的而依赖于覆盖平台类的部署将需要

  • 我有一个批处理文件,它使用依赖于tools.jar(来自JDK)的maven运行java类。 例如: mvn-f.\pom.xml-e exec:java-dfile.encoding=“utf-8”-dexec.mainclass=MyClass-dexec.args=“%1%2%3%4%5%6%7%8%9”-dexec.classpathscope=runtime 我的程序使用JDK中的too

  • 我的专长领域不是Java。我在其他平台上用其他语言开发。 现在,我正在为一个项目开发一系列Java servlet。servlet将在运行FileNetp8的CentOS服务器上运行。 我认为JAR不需要打包在部署WAR中,因为应用程序将被部署到运行Filenet的Websphere服务器上,所以它们应该在服务器上可用。我是否应该将它们作为外部JAR引用添加以编译项目?

  • 我正在使用maven构建工具。我的意图是将单独的绝对文件夹[例如:C:\test1.jar,C:\test2.jar]中可用的jar文件添加到类路径中。 我可以看到JAR被添加到war中可用的Manifest.mf文件的类路径中,但当war部署时,它由于“java.lang.ClassNotFoundException”[与test1.jar或test2.jar相关]而失败。 这是否意味着在man

  • 问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行