是否有任何SaaS解决方案来托管maven存储库?
我知道我可以在Nexus或Archiva或Artifactory上自己托管它,只是想知道是否有经济实惠的提供商允许以低成本托管一些依赖项而无需自己安装存储库.
我正在寻找一个在线maven存储库主机,它可以保证良好的可用性并使工件保密.
我们有一个基于Apache Archiva的内部存储库,我们已经在pom.xml中配置了存储库标记,如下所示.我是否可以假设所有依赖访问都将由内部存储库解析,如果您有权访问它,并且如果内部存储库由于某种原因而关闭,则将由下面列出的其他存储库解析.
<repositories>
<repository>
<id>internal</id>
<name>Internal Repository</name>
<url>http://192.168.1.2/archiva/repository/internal</url>
</repository>
<repository>
<id>jboss</id>
<url>https://repository.jboss.org/nexus/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
....
</repositories>
Run Code Online (Sandbox Code Playgroud)
编辑:
我想取消.m2/settings.xml文件.我想在我的pom.xml文件中定义它,这样如果我的存储库管理器是UP并且正在运行,我希望运行时连接到那里,否则它会想要回退到其他存储库.这可能吗?
我使用的是apache-archiva-2.2.0版本.我丢失了管理员密码,所以我想重置管理员用户的密码.
我试图通过删除下面提到的文件来重置密码.
./apache-archiva-2.2.0/data/databases/users/dbex.lck
./apache-archiva-2.2.0/data/databases/users/db.lck
但仍然要求密码重新启动服务.
数据库细节 -
<New id="users" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/users</Arg>
<Arg>
<New class="org.apache.tomcat.jdbc.pool.DataSource">
<Set name="driverClassName">org.apache.derby.jdbc.EmbeddedDriver</Set>
<Set name="url">jdbc:derby:<SystemProperty name="appserver.base" default=".."/>/data/databases/users;create=true</Set>
<Set name="username">sa</Set>
<Set name="maxActive">20</Set>
<Set name="removeAbandoned">true</Set>
<Set name="logAbandoned">true</Set>
<Set name="initialSize">5</Set>
<Set name="testOnBorrow">true</Set>
<Set name="validationQuery">select 1</Set>
</New>
</Arg>
</New>
Run Code Online (Sandbox Code Playgroud)
让我知道如何更改密码?
我试图解决与Ivy有时间戳的SNAPSHOT依赖关系.
环境是Ant + Ivy 1.2.0 + Archiva.Archiva本身就是从Maven2版本中填充的.Ivy仅用于解决依赖关系(来自单个非Maven2项目).
如何将常春藤配置为从Archiva或m2存储库中正确解析带时间戳的工件?
作为参考,我目前的配置是:
ivysettings.xml看起来类似于:
<ivysettings>
<settings defaultResolver="archiva-chain"/>
<resolvers>
<chain name="archiva-chain" changingPattern=".*SNAPSHOT" checkmodified="true">
<ibiblio name="archiva-internal"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/internal"/>
<ibiblio name="archiva-deploy"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/deploy"/>
<ibiblio name="archiva-snapshots"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/snapshots"/>
</chain>
</resolvers>
</ivysettings>
Run Code Online (Sandbox Code Playgroud)
该的ivy.xml依赖关系是简单的:
<ivy-module version="2.0">
<info organisation="com.myorg" module="myapp"/>
<dependencies>
<dependency org="com.myorg" name="myartifact" rev="1.8.0-SNAPSHOT" changing="true"/>
</dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)
Ivy不会尝试解析带时间戳的工件.例如
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] module not found: com.myorg#myartifact;1.8.0-SNAPSHOT
[ivy:retrieve] ==== archiva-internal: tried
[ivy:retrieve] -- artifact com.myorg#myartifact;1.8.0-SNAPSHOT!myartifact.jar:
[ivy:retrieve] http://host:port/archiva/repository/internal/com.myorg/myartifact/1.8.0-SNAPSHOT/myartifact-1.8.0-SNAPSHOT.jar …
Run Code Online (Sandbox Code Playgroud) 我正在将jar文件部署到maven存储库(archiva)
<distributionManagement>
<repository>
<id>archiva.internal</id>
<uniqueVersion>false</uniqueVersion>
<name>Internal Release Repository</name>
<url>http://server:8080/archiva/repository/internal</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<uniqueVersion>false</uniqueVersion>
<name>Internal Snapshot Repository</name>
<url>http://server:8080/archiva/repository/internal/snapshots</url>
</snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)
<servers>
<server>
<id>archiva.internal</id>
<username>user</username>
<password>password</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>archiva.snapshots</id>
<username>user</username>
<password>password</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
Run Code Online (Sandbox Code Playgroud)
第一次maven部署成功,
Uploading: http://server:8080/archiva/repository/internal/com/test/maven-metadata.xml
Uploaded: http://server:8080/archiva/repository/internal/com/test/maven-metadata.xml (306 B at 2.4 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.843s
[INFO] Finished at: Mon Nov 07 17:09:49 EST 2011
[INFO] Final Memory: 5M/11M
Run Code Online (Sandbox Code Playgroud)
如果我尝试重新部署相同的工件,我得到:
Failed to transfer file: http://server:8080/archiva/repository/internal/com/test.jar. Return code is: …
Run Code Online (Sandbox Code Playgroud) 我们的Archiva Repository永远不会删除旧的快照.这会产生大量垃圾.
是否有可能告诉Archiva只保留快照的N版本?
最诚挚的问候,基督徒.
我正在寻找一篇文章,该文章描述了在工件库管理器中创建存储库时要遵循的一系列准则.
我知道:
您需要在快照存储库中保留快照.
您需要在发布存储库中保留版本.
第三方工件应位于单独的存储库中(对于第三方库的分叉/修补版本也是如此).
用int-*
和前缀名称通常是个好主意ext-*
.
通常,不同的产品线最终会拥有自己的存储库,因为有时它们的工件不会相互依赖.
我一直试图找到一篇关于这个的文章来向客户说明这个工件分离抽象是如何由其他公司和组织使用存储库完成的.
提前谢谢了!
我试图在Windows 8.1专业版(64位)上安装Archiva,我不断得到如下错误
包装| OpenSCManager失败 - 访问被拒绝.(0x5的).
我只以管理员身份登录.但我仍然得到同样的错误.对于VISTA和7等我看到同样问题的大多数答案.但不适用于Windows8.1 Pro(64位)
我正在尝试在 Archiva 上添加一个远程存储库。但是,我一直在日志中收到此错误:
错误
org.apache.cxf.jaxrs.utils.JAXRSUtils
[]
- 找不到 class 的消息正文 编写器org.apache.archiva.rest.services.ArchivaRestError
,
ContentType: text/plain
我尝试添加带有文本/纯文本的内容类型标题,但没有用
我希望有一个私人存储库管理器,不要每次都从互联网上下载所有的软件包.我决定选择Apache Archiva.
目前我想将jitpack.io和jcenter.bintray.com添加到我的远程存储库中.我已经完成了如下图片,但它没有任何好处,我无法从我的私有存储库中获取"com.google.dagger:dagger-compiler:2.5".
如何正确地将jitpack.io和jcenter添加到我的Archiva中?