使用 ivy:publish 任务发布到 public Maven 存储库 - 需要凭据?
using ivy:publish task to publish to the public Maven repo - need credentials?
我正在尝试使用 ivy:publish
任务使用 public ibiblio 解析器发布我的 jar,据我所知,它对应于 Maven 中央存储库。
这似乎有点工作,但我最终得到了 HTTP 405: Method Not Allowed
。
我的 ivysettings.xml
、ivy.xml
和 build.xml
文件中的相关部分是:
ivysettings.xml
这实际上是整个文件:
<ivysettings>
<settings defaultResolver="public"/>
<resolvers>
<ibiblio name="public" m2compatible="true" />
</resolvers>
</ivysettings>
ivy.xml
...
<publications>
<artifact type="pom" ext="pom" conf="default"/>
<artifact type="jar" ext="jar" conf="default"/>
</publications>
...
build.xml
...
<target name="gen-pom" depends="ivy-resolve">
<ivy:makepom ivyfile="ivy.xml" pomfile="${dist.dir}/${ant.project.name}.pom">
<mapping conf="default" scope="compile"/>
</ivy:makepom>
</target>
<target name="ivy-publish" depends="jar, gen-pom" description="publish jar/source to maven repo">
<ivy:publish resolver="public" forcedeliver="true" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact].[ext]" />
</ivy:publish>
</target>
...
当我调用 ant ivy-publish
时,我得到:
impossible to publish artifacts for mant-tasks#mant-tasks;1.0: java.io.IOException: PUT operation to URL https://repo1.maven.org/maven2/mant-tasks/mant-tasks/1.0/mant-tasks-1.0.pom failed with status code 405: Method Not Allowed
我想这是有道理的,否则任何人都可以污染命名空间。所以我的问题是:
- 这是因为我没有凭据吗? IE。我需要添加一个
credentials
元素在我的 ivysettings.xml
中显示
回答?
- 我可以为我的
ibiblio
获取凭据吗?
微不足道的模块,如果不是还有其他免费可用的模块 public
存储库可供 Java 不想使用的开发人员使用
构建和维护自己的 Maven 存储库?我需要能够从全球可用的存储库中拉入我的模块(作为其他项目的 IVY 依赖项)。
Maven central 由 Maven 的创建者 Sonatype 运营:
JFrog 运营一项名为 bintray 的竞争服务:
我建议阅读文档并获得允许发布模块文件的凭证
我正在尝试使用 ivy:publish
任务使用 public ibiblio 解析器发布我的 jar,据我所知,它对应于 Maven 中央存储库。
这似乎有点工作,但我最终得到了 HTTP 405: Method Not Allowed
。
我的 ivysettings.xml
、ivy.xml
和 build.xml
文件中的相关部分是:
ivysettings.xml
这实际上是整个文件:
<ivysettings>
<settings defaultResolver="public"/>
<resolvers>
<ibiblio name="public" m2compatible="true" />
</resolvers>
</ivysettings>
ivy.xml
...
<publications>
<artifact type="pom" ext="pom" conf="default"/>
<artifact type="jar" ext="jar" conf="default"/>
</publications>
...
build.xml
...
<target name="gen-pom" depends="ivy-resolve">
<ivy:makepom ivyfile="ivy.xml" pomfile="${dist.dir}/${ant.project.name}.pom">
<mapping conf="default" scope="compile"/>
</ivy:makepom>
</target>
<target name="ivy-publish" depends="jar, gen-pom" description="publish jar/source to maven repo">
<ivy:publish resolver="public" forcedeliver="true" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact].[ext]" />
</ivy:publish>
</target>
...
当我调用 ant ivy-publish
时,我得到:
impossible to publish artifacts for mant-tasks#mant-tasks;1.0: java.io.IOException: PUT operation to URL https://repo1.maven.org/maven2/mant-tasks/mant-tasks/1.0/mant-tasks-1.0.pom failed with status code 405: Method Not Allowed
我想这是有道理的,否则任何人都可以污染命名空间。所以我的问题是:
- 这是因为我没有凭据吗? IE。我需要添加一个
credentials
元素在我的ivysettings.xml
中显示 回答? - 我可以为我的
ibiblio
获取凭据吗? 微不足道的模块,如果不是还有其他免费可用的模块 public 存储库可供 Java 不想使用的开发人员使用 构建和维护自己的 Maven 存储库?我需要能够从全球可用的存储库中拉入我的模块(作为其他项目的 IVY 依赖项)。
Maven central 由 Maven 的创建者 Sonatype 运营:
JFrog 运营一项名为 bintray 的竞争服务:
我建议阅读文档并获得允许发布模块文件的凭证