当前位置: 首页 > 面试题库 >

如何使用Maven将Class-Path添加到清单文件

胡新
2023-03-14
问题内容

使用maven-jar-plugin时,
我想向Manifest.mf添加条目,
因此它将包含:
Class-Path:。
当我将此条目添加到Pom时:

<Class-Path>.</Class-Path>

它将创建具有所有依赖项的Class-Path,例如

Class-Path:。jar1name.jar jar2name.jar等
不仅仅是
类路径:。
有没有一种方法可以避免maven将所有jar名称添加到Class-Path?
谢谢

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                        <Built-By>Me</Built-By>
            <Class-Path>.</Class-Path> 
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

问题答案:

这样做的技巧就是
省略addClasspath并添加manifestEntries
现在,log4j.properties可以驻留在jar之外-仍然可以找到…

                <manifest>
                    <addClasspath>true</addClasspath>
                </manifest>

这正在工作:

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries>
                        <Built-By>Me</Built-By>
             <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

输出:

 Manifest-Version: 1.0
 Archiver-Version: Plexus Archiver
 Created-By: Apache Maven
 Build-Jdk: 1.6.0_45
 Built-By: Me
 Class-Path: .


 类似资料:
  • 问题内容: 我想在jar文件中的清单中添加体现版本行,以反映POM版本号。我一辈子都无法解决如何使用jar插件做到这一点。 这可能吗? 问题答案: 您将使用Maven存档器: 这会将以下内容添加到清单文件中:

  • 问题内容: 我想将html导航放到一个单独的php文件中,因此当我需要对其进行编辑时,只需要对其进行一次编辑即可。当我要将活动类添加到活动页面时,问题就开始了。 我有三页和一个普通文件。 common.php: index.php: 除了每页的$ page不同之外,所有三个页面都是相同的。 除非我在每页上放置导航,否则这根本行不通,但是将导航与所有页面分开的整个目的就毁了。 我想实现的目标甚至有可

  • 我(终于)能够使用本指南将我的Android库发布到AWS S3 maven存储库。它作为 AAR 而不是 JAR 文件发布,这意味着即使生成的 POM 文件列出了其所有内部依赖项,在将库添加到另一个项目时也会忽略它们。似乎是一个非常普遍的问题。我从中了解到,我只需要在 maven 清单中列出依赖项,但这是如何完成的呢? 我真的是一个新手,所以越简单越好...谢谢! 注意:我也发现了这个问题,所以

  • 问题内容: 我想编写一个可以运行测试的Makefile。测试位于目录“ ./tests”中,而要测试的可执行文件位于目录“ ./bin”中。 当我运行测试时,他们看不到exec文件,因为目录./bin不在$ PATH中。 当我做这样的事情: 一切正常。但是我需要在Makefile中更改$ PATH。 简单的Makefile内容: 它可以正确打印路径,但是找不到文件x。 当我手动执行此操作时: 一切

  • 问题内容: 我在apache2的custom.conf文件中设置了以下代码: 但是,它不起作用。当我打电话时: 我得到: 有人可以帮忙吗?我在Mac上使用Macports作为开发环境。谢谢! 问题答案: 对于您尝试从Apache内部设置PATH的情况,我感到非常奇怪。相反,您应该为系统设置PATH。在Mac OS X中,有几种方法可以做到这一点: 特定 于用户对于单个用户,您可以编辑〜/ .pro

  • 我想将文件从我的>移到>文件夹。我尝试使用插件,但它只是将文件从复制到文件夹中的。但是在构建的中,文件在中不可用 我如何将我的启动文件移动到META-INF到ear>META-INF? 这是EAR的pom文件。 下面是project workspace屏幕抓取