将二进制文件部署到Maven Central

时间:2016-02-20 19:01:56

标签: maven ant maven-central

在互联网上,关于如何/如何将二进制文件部署到Maven Central有很多相互矛盾的信息。 由于我想避免将它们隐藏在JAR中,我找到了指南,建议使用POM目标然后使用codehaus插件来部署所需的二进制文件:

<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>
    <packaging>pom</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>mybinary.so</file>
                                    <type>so</type>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

我使用以下ANT任务上传二进制文件:

<target name="stage" depends="" description="deploy release version to Maven staging repository">
    <artifact:mvn>
        <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
        <arg value="-Durl=${ossrh-staging-repository-url}" />
        <arg value="-DrepositoryId=${ossrh-server-id}" />
        <arg value="-DpomFile=pom.xml" />
        <arg value="-Dfile=mybinary.so" />
        <arg value="-Pgpg" />
    </artifact:mvn>
</target>

当我运行任务时,我可以看到我的二进制上传和SUCCESS返回消息,但是当我登录并检查OSS控件panel时,我的上传仅包含POM文件。

任何线索?有成功的故事吗?最后为什么这么难,对我来说,Ivy在pypi之后已经太复杂了,但是Maven看起来好多了。

0 个答案:

没有答案