微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Maven

如何解决如何使用Maven

我是Maven的新手,需要创建一个基本上包含以下内容的“自定义” zip:

  • 装有我的课程的罐子
  • 我用来构建的一些(但不是全部)依赖项:它们在Maven中声明(例如,这些不是项目中管理的本地副本)

所需的ZIP文件将具有以下结构:

  • meta-inf /
    • some-custom-描述符.xml
  • lib /
    • myLib.jar
    • dependency1.jar
    • dependency2.jar

到目前为止,我了解程序集插件是交易工具,但是我不知道如何执行两个步骤:

解决方法

我不确定我是否理解一切。 但我认为您必须先复制依赖项(之后的jar中就没有了)

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
           <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.demo.App</mainClass>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <includeScope>runtime</includeScope>
                    <outputDirectory>${project.build.directory}/lib/</outputDirectory>
                    <excludeScope>test</excludeScope>
                </configuration>
            </execution>
     </executions>
</plugin>

之后,可以将程序集插件与描述符XML文件一起使用,如下所示:

<assembly>
    <id>zip</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/lib</directory>
            <outputDirectory>lib</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。