![](/img/trans.png)
[英]How to Download maven jars and its dependencies from both default central maven & other public repos?
[英]Do maven repos support uber jars like other depedancies?
我想 package 並像我的其他依賴項一樣將超級 jar 部署到 maven 回購
看起來雖然默認情況下,即使我使用陰影,當我運行mvn deploy
時,uber jar 也沒有部署到my-repo
。 如何將我的 uber jar 部署到 maven 存儲庫以便能夠下載它以供以后使用 - 甚至引用 uber jar 作為另一個 POM 中的依賴項?
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Use shade to create uber jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>uber</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>my-repo</id>
<name>my-repo</name>
<url>https://blah.jfrog.io/blah/my-repo</url>
</repository>
<snapshotRepository>
<id>my-repo</id>
<name>my-repo</name>
<url>https://blah.jfrog.io/blah/my-repo</url>
</snapshotRepository>
</distributionManagement>
</project>
您可以使用陰影插件配置部分中的<shadedArtifactAttached>
和<shadedClassifierName>
屬性來執行此操作。 看看這個: https://maven.apache.org/plugins/maven-shade-plugin/examples/attached-artifact.ZFC35FDC70D5FC69D269883A822C7A
在項目中,您必須配置<maven-shade-plugin>
:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>uber-jar</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
在依賴項目中,您可以將該工件用作依賴項:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<!-- ... -->
<dependencies>
<dependency>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>uber-jar</classifier>
</dependency>
</dependencies>
</project>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.