簡體   English   中英

如何為具有外部依賴性的Java項目配置Maven構建?

[英]How to configure Maven build for Java project with external dependencies?

我正在嘗試使用maven創建自動化解決方案。 我的願景是擁有一個Maven構建,它從我的項目創建JAR文件,然后將所有依賴項作為JAR復制到“target”文件夾中的某個子目錄。

我不想使用Shade或Assembly(因此我不想提取其他JAR的內容並將其包含在一個“super-JAR”中,因為項目更復雜,當我包含所有JAR時它會中斷在一個文件中)。

我怎么能這樣構建POM?

我沒有看到任何問題。 只需使用<packaging>jar</packaging>創建maven pom.xml默認情況下,不應將所有依賴庫打包到jar中。

<plugin>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <phase>install</phase>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <outputDirectory>${project.build.directory}/lib</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>

與您的最新評論相關,使用此插件在清單中添加主類:

        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.test.YourMainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

您可以使用maven-assembly-plugin從目錄中的其他文件中創建.zip文件。 我已經使用此方法為項目創建分發zip文件。 maven-assembly-plugin文檔中提供了幾個示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM