标签: repository

如何手动禁用/黑名单Maven存储库

在我的基础项目中,我使用了JasperReports的依赖项,它的pom中存在不存在的存储库声明.当我运行每个Maven commad时,依赖于在这个Jasper存储库中查找commons-collection,所以我需要等待超时.
这是我的基础项目,在我的其他项目中用作依赖项,所以我需要等待超时.
有没有办法将此存储库移至黑名单或覆盖此设置?

注意:1.
为什么在Jasper存储库中搜索,可能会因为范围而受到影响

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>[2.1,)</version>
    <scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我解决这个问题的想法是改变jasper pom并使用代理存储库,但我期待另一种选择.
3.我使用jasperreports 1.3.3版本,我想不要改变它.

dependencies maven-2 repository

21
推荐指数
3
解决办法
2万
查看次数

SVN命名约定:存储库,分支,标记

只是好奇你的命名约定是什么:

存储库名称分支标签

目前,我们在SVN中采用了以下标准,但希望对其进行改进:

  1. 每个项目都有自己的存储库
  2. 每个存储库都有一组目录:标记,分支,主干
  3. 标签是树的不可变副本(release,beta,rc等)
  4. 分支通常是功能分支
  5. Trunk正在进行中(快速添加,错误修复等)

现在,说到这里,我很好奇每个人不仅要处理他们的存储库的命名,还要处理他们的标签和分支.例如,您是否为项目名称使用驼峰案例结构?

那么,如果你的项目是这样的Backyard Baseball for Youngins,你如何处理?

  • backyardBaseballForYoungins
  • backyard_baseball_for_youngins
  • BackyardBaseballForYoungins
  • backyardbaseballforyoungins

这似乎相当微不足道,但这是一个问题.

如果您使用功能分支范例,您如何命名功能分支?功能本身用简单的英语后?某种版本控制方案?也就是说你想为后院棒球应用添加功能,允许用户添加自己的统计数据.你会怎么称呼你的分公司?

  • {repoName} /支链/用户添加统计
  • {repoName} /支链/ userAddStatistics
  • {repoName} /支链/ user_add_statistics

等等

要么:

  • {} repoName /branches/1.1.0.1

如果你去版本路线,你如何关联版本号?似乎功能分支不会从版本控制架构中受益太多,因为1个开发人员可能正在处理"用户添加统计信息"功能,而另一个开发人员可能正在处理"管理添加统计信息"功能.这些分支版本如何命名?他们最好是:

  • {repoName} /branches/1.1.0.1 - 用户添加统计信息
  • {repoName} /branches/1.1.0.2 - admin添加统计信息

一旦它们合并到主干中,主干可能会适当增加?

标签似乎从版本号中受益最多.

话虽如此,您如何将您的项目版本(无论是主干,分支,标签等)与SVN相关联?即,作为开发人员,您如何知道1.1.1具有管理员添加统计信息,以及用户添加统计功能?这些描述和链接如何?标签在每个标签中都有发行说明是有意义的,因为它们是不可变的.

但是,是的,你的SVN政策是什么?

svn repository

21
推荐指数
2
解决办法
2万
查看次数

将新版本提交到svn存储库时提交失败错误

我正在尝试将新版本提交到我的SVN存储库但遇到此错误:

svn:提交失败(详情如下):
svn:无法使用外部编辑器获取日志消息; 考虑设置$ SVN_EDITOR环境变量或使用--message(-m)或--file(-F)选项
svn:没有设置环境变量SVN_EDITOR,VISUAL或EDITOR,也没有'editor-cmd'运行 -时间配置选项被发现new-computers-computer:trunk newcomputer $

怎么了?

svn commit repository

21
推荐指数
2
解决办法
3万
查看次数

Maven无法解决多个存储库的递归依赖关系

我是maven的新手所以必须有一些我不理解的东西.但是,我添加了多个存储库来解析我的POM文件中的多个依赖项.由于某种原因,它在拉动递归依赖时失败了.我依赖于春天和春天取决于jms,它找不到jms.我不确定是谁告诉maven在哪里可以找到jms是我还是它在POM内弹簧?无论如何,我已经尝试添加另一个包含jms的存储库,但它仍然说它无法找到它.这是我的POM.xml:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>app</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>app</name>
    <url>http://maven.apache.org</url>
    <repositories>
        <repository>
            <id>sonatype-nexus-snapshots</id>
            <name>Sonatype</name>
            <url>http://repository.sonatype.org</url>
        </repository>
        <repository>
            <snapshots/>
            <id>repo.pentaho.org</id>
            <name>repo.pentaho.org-snapshots</name>
            <url>http://repository.pentaho.org/artifactory/pentaho</url>
        </repository>
        <repository>
            <id>thirdparty.pentaho.org</id>
            <name>repo.pentaho.org-snapshots</name>
            <url>http://repository.pentaho.org/artifactory/thirdparty</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>EBR Spring Release Repository</name>
            <url>http://repository.springsource.com/maven/bundles/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>EBR External Release Repository</name>
            <url>http://repository.springsource.com/maven/bundles/external</url>
        </repository>
    </repositories>

    <properties>
        <org.springframework.version>3.0.5.RELEASE</org.springframework.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.18</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.4</version>
            <scope>runtime</scope> …
Run Code Online (Sandbox Code Playgroud)

dependencies maven-2 repository

21
推荐指数
3
解决办法
3万
查看次数

AutoMapper.Map忽略源对象的所有Null值属性

我正在尝试映射2个相同类型的对象.我想要做的是AutoMapper to toigonore所有属性,它们Null在源对象中有值,并保留目标对象中的现有值.

我已经尝试在我的"存储库"中使用它,但它似乎不起作用.

Mapper.CreateMap<TEntity, TEntity>().ForAllMembers(p => p.Condition(c => !c.IsSourceValueNull));
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

.net c# repository automapper

21
推荐指数
2
解决办法
2万
查看次数

如何跳过maven仓库中的版本或特定模块

Heyho,

我有一个带有这个结构的maven项目:

父:

  • 项目清单
  • API模块
  • 模块2
  • ...
  • 单词数
  • 测试
  • 分布/组装

所以首先我运行父模块,然后我运行构建api的模块,然后运行依赖于api的模块,然后运行包含测试工具的测试模块,最后我运行一个汇编/分发,我打包一些档案中的模块.由于一些问题我无法真正改变方式,它的工作到目前为止完美无缺.

使用jenkins我将它发布到maven repo,但我只想发布例如API和一些模块,而不是测试模块和分发模块.有没有办法跳过它们?不想发布我真正不需要的东西:/

deployment repository maven jenkins

21
推荐指数
1
解决办法
2万
查看次数

存储库已禁用

我是Github上某个组织的成员.在过去的一年里,我能够访问标记到我帐户的所有私有存储库,直到今天.当我打开私人回购时,我收到了这条消息:

存储库已禁用

此存储库当前已禁用.请联系该组织的所有者以解决此问题.

我用谷歌搜索,我没有回答这个问题.

如果出了什么问题,有人可以帮帮我吗?这是否意味着有管理权限的人删除了我的帐户,无法访问我们所有的私人回购?尽管如此,这不太可能,因为我仍然可以在我的帐户上查看私人回购列表.我只是无法打开任何一个.

任何帮助将非常感激!谢谢!:)

github repository organization

21
推荐指数
1
解决办法
1万
查看次数

不能通过http克隆git repos; info/refs not found

我试图使git存储库可用于通过http进行只读访问.

我这样做是旧式的,因为git-http-backend我的主机系统不可用.也就是说,我只是将裸存储库放在http可访问的位置.

我使用在主机上成功创建了裸存储库git clone --bare <some-remote-location>.

现在,当我使用git指向新克隆时git clone http://my.host.name/location,会显示一条消息repository not found.

当我捕获网络流量时,我看到git正在尝试访问http://my.host.name/location/info/refs.由于info/refs存储库中没有路径,因此预计会失败.而是存储库根目录下的inforefs目录.

显然,克隆的裸存储库的结构不符合客户的预期.有谁知道为什么会这样?

git clone http repository git-bare

21
推荐指数
2
解决办法
2万
查看次数

领域驱动设计中的规范模式

我一直在努力解决与规范有关的DDD相关问题,我已经阅读了很多关于DDD和规范和存储库的内容.

但是,如果尝试在不破坏域驱动设计的情况下组合所有这三个,则会出现问题.它归结为如何应用具有性能的过滤器.

首先是一些明显的事实:

  1. 获取DataAccess/Infrastructure Layer的存储库
  2. 域模型表示业务逻辑并转到域层
  3. 数据访问模型表示持久层,并转到Persistance/Infrastructure/DataAccess层
  4. 业务逻辑转到域层
  5. 规格是业务逻辑,因此它们也属于域层.
  6. 在所有这些示例中,在存储库中使用ORM框架和SQL Server
  7. 持久性模型可能不会泄漏到域层

到目前为止,这么容易.当/如果我们尝试将规范应用于存储库而不破坏DDD模式或存在性能问题时,就会出现问题.

申请规格的可能方式:

1)经典方式:使用域层中的域模型的规范

应用传统的规格模式,使用IsSatisfiedBy方法,返回bool和复合规格以组合多个规格.

这让我们保持域层的规范,但......

  1. 它必须与域模型一起使用,而存储库使用持久性模型来表示持久层的数据结构.这个很容易修复使用映射器,如AutoMapper.
  2. 但是,问题无法解决:所有规格都必须在内存中执行.在大型表/数据库中,如果您必须遍历所有实体仅过滤掉符合您规范的实体,这意味着巨大的影响

2)使用持久性模型的规范

这类似于1),但在规范中使用持久性模型.这允许直接使用规范作为我们的.Where谓词的一部分,它将被转换为查询(即TSQL),并且将在持久性存储(即SQL Server)上执行过滤.

  1. 虽然这会提供良好的性能,但它显然违反了DDD模式.我们的持久性模型泄漏到域层,使得域层依赖于持久层,而不是相反.

3)像2),但使规范成为持久层的一部分

  1. 这不起作用,因为域层需要引用规范.它仍然依赖于持久层.
  2. 我们在持久层内部会有业务逻辑.这也违反了DDD模式

4)像3一样,但使用抽象规范作为接口

我们在Domain层中有规范接口,我们在持久层中的规范的具体实现.现在我们的域层只与接口交互而不依赖于持久层.

  1. 这仍然违反了3)中的#2.我们在持久层中会有业务逻辑,这很糟糕.

5)将表达式树从域模型转换为持久性模型

这当然解决了这个问题,但这是一项非常重要的任务,但它会将规范保留在我们的域层内,同时仍然受益于SQL优化,因为规范成为Repositories Where子句的一部分并转换为TSQL

我试过这种方法,有几个问题(表单实现方面):

  1. 我们需要从Mapper知道配置(如果我们使用它)或保留我们自己的映射系统.这可以部分完成(使用AutoMapper读取Mapper配置),但存在进一步的问题
  2. 对于模型A的一个属性映射到模型B的一个属性的情况是可接受的.如果类型不同(即由于持久性类型,例如枚举被保存为另一个表中的字符串或键/值对,并且我们需要在解析器内进行转换.
  3. 如果多个字段映射到一个目标字段,它会变得非常复杂.我认为这不是域模型 - >持久性模型映射的问题

**6)查询生成器,如API**

最后一个是制作某种查询API,该API被传递到规范中,并且Repository/Persistence层将从中生成表达式树以传递给.Where子句,并使用接口来声明所有可过滤字段.

我也朝这个方向做过几次尝试,但对结果并不太满意.就像是

public interface IQuery<T>
{
    IQuery<T> Where(Expression<Func<T, T>> predicate);
}
public interface IQueryFilter<TFilter>
{
    TFilter And(TFilter other);
    TFilter Or(TFilter other);
    TFilter Not(TFilter other);
}

public interface IQueryField<TSource, IQueryFilter>
{
    IQueryFilter …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design specifications repository repository-pattern

21
推荐指数
3
解决办法
8722
查看次数

在gitlab中,是否可以在一个项目中创建两个或更多存储库?

我在一个Docker的容器中运行GitLab,但到目前为止还没问题,完全没问题.我对在项目中创建存储库存在疑问.我在GitLab中创建了我的第一个项目,然后在创建之后我被重定向到一个页面,其中包含一些在终端中使用的命令.有三个部分,其中一个是"创建存储库",我已经使用了这些命令,因此我可以创建我的项目存储库.但是,在此之后,带有命令的页面出现了,我可以在创建新项目时再次看到它.毕竟,这里再次提出我的问题,是否可以在一个项目中创建两个或更多存储库?

project repository gitlab

21
推荐指数
1
解决办法
2万
查看次数