小编neu*_*242的帖子

如何使用git diff创建两个电子表格的可读差异?

我们的源代码库中有很多电子表格(xls).这些通常使用gnumeric或openoffice.org进行编辑,主要用于使用dbUnit填充数据库进行单元测试.在我知道的xls文件上没有简单的方法来做差异,这使得合并非常繁琐且容易出错.

我试图将电子表格转换为xml并进行常规差异,但它确实感觉它应该是最后的手段.

我想像git处理文本文件一样执行diffing(和合并).我怎么做,例如发行时git diff

git version-control diff merge xls

165
推荐指数
7
解决办法
16万
查看次数

为什么compareTo在Java上的Enum final?

Java中的枚举实现了Comparable接口.这本来是很好的覆盖ComparablecompareTo方法,但在这里它被标记为最终.Enum's 的默认自然顺序compareTo是列出的顺序.

有谁知道为什么Java枚举有这个限制?

java enums compareto comparable

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

78
推荐指数
4
解决办法
5万
查看次数

如何在ant的build.xml中设置-Dfile.encoding?

我有iso-8859-1编码的java源文件.当我运行ant时,我得到"警告:编码UTF-8的不可映射的字符".如果我运行ant -Dfile.encoding = iso-8859-1或者将encoding ="ISO-8859-1"添加到每个javac语句中,我可以避免这种情况.

有没有办法在build.xml中全局设置属性? <property name ="file.encoding"value ="ISO-8859-1">不起作用.我知道我可以添加一个foo = ISO-8859-1属性并为每个javac语句设置encoding ="$ {foo}",但我试图避免这种情况.

java ant javac character-encoding

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

如何用Java漂亮地打印现有的JSON数据?

我有一个紧凑的JSON字符串,我想在Java中很好地格式化它,而不必先将它反序列化 - 例如就像jsonlint.org那样.有没有提供这个的图书馆?

类似的XML解决方案也很不错.

java formatting json pretty-print

47
推荐指数
6
解决办法
9万
查看次数

如何在分离的HEAD状态下找到当前的git分支

我可以通过执行以下任一操作找到当前的git分支名称:

git branch | awk '/^\*/ { print $2 }'
git describe --contains --all HEAD
Run Code Online (Sandbox Code Playgroud)

但是当处于分离的HEAD状态时,例如在Jenkins maven构建中的后构建阶段(或在Travis git fetch中),这些命令不起作用.

我目前的工作解决方案是:

git show-ref | grep $(git log --pretty=%h -1) | sed 's|.*/\(.*\)|\1|' | sort -u | grep -v HEAD
Run Code Online (Sandbox Code Playgroud)

它显示在其HEAD提示上具有最后一次提交的任何分支名称.这很好,但我觉得有一个强大的git-fu的人可能有一个更漂亮的解决方案?

git bash branch jenkins travis-ci

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

DBUnit有没有办法自动创建表?

我刚刚意识到DBUnit本身并不创建表(请参阅如何使用纯JDBC和HSQLDB使用DBUnit进行测试而不会遇到NoSuchTableException?).

DBUnit有没有办法从数据集或dtd自动创建表?

编辑: 对于像HSQLDB这样的内存数据库的简单测试,可以使用原始方法自动创建表:

private void createHsqldbTables(IDataSet dataSet, Connection connection) throws DataSetException, SQLException {
    String[] tableNames = dataSet.getTableNames();

    String sql = "";
    for (String tableName : tableNames) {
      ITable table = dataSet.getTable(tableName);
      ITableMetaData metadata = table.getTableMetaData();
      Column[] columns = metadata.getColumns();

      sql += "create table " + tableName + "( ";
      boolean first = true;
      for (Column column : columns) {
        if (!first) {
          sql += ", ";
        }
        String columnName = column.getColumnName();
        String type = resolveType((String) table.getValue(0, columnName)); …
Run Code Online (Sandbox Code Playgroud)

java dbunit dataset create-table

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

Monorepo,Travis和Matrix构建:如何仅在更改时构建特定路径?

我有一个包含几个(java/gradle)项目的repo :

project-a/
project-b/
project-c/
Run Code Online (Sandbox Code Playgroud)

我想创建一个矩阵构建配置,每个项目一个构建.而且我只想构建那个项目,如果有变化的话.

这可能吗?

我可以轻松创建一个脚本,通过使用来检查文件夹是否受到影响$TRAVIS_COMMIT_RANGE.但是我如何使用它.travis.yml呢?

编辑

Travis中存在一个问题,即添加对包含/排除路径的支持,以便何时触发构建.有了矩阵支持,这将解决我的问题.

continuous-integration build travis-ci

20
推荐指数
1
解决办法
1461
查看次数

如何使用纯JDBC和HSQLDB使用DBUnit进行测试而不会遇到NoSuchTableException?

我正在尝试将DBUnit与简单的JDBC和HSQLDB一起使用,并且不能完全使用它 - 即使我早先使用了DBUnit和Hibernate并取得了巨大的成功.这是代码:

import java.sql.PreparedStatement;
import org.dbunit.IDatabaseTester;
import org.dbunit.JdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.XmlDataSet;
import org.junit.Test;

public class DummyTest {

    @Test
    public void testDBUnit() throws Exception {
        IDatabaseTester databaseTester = new JdbcDatabaseTester("org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem", "sa", "");
        IDataSet dataSet = new XmlDataSet(getClass().getResourceAsStream("dataset.xml"));
        databaseTester.setDataSet(dataSet);
        databaseTester.onSetup();
        PreparedStatement pst = databaseTester.getConnection().getConnection().prepareStatement("select * from mytable");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是有问题的dataset.xml:

<dataset>
    <table name="mytable">
        <column>itemnumber</column>
        <column>something</column>
        <column>other</column>
        <row>
            <value>1234abcd</value>
            <value>something1</value>
            <value>else1</value>
        </row>
    </table>
</dataset>
Run Code Online (Sandbox Code Playgroud)

这个测试给了我一个NoSuchTableException:

org.dbunit.dataset.NoSuchTableException: mytable
    at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:282)
    at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:109)
    at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
    at org.dbunit.AbstractDatabaseTester.executeOperation(AbstractDatabaseTester.java:190)
    at org.dbunit.AbstractDatabaseTester.onSetup(AbstractDatabaseTester.java:103)
    at DummyTest.testDBUnit(DummyTest.java:18)
Run Code Online (Sandbox Code Playgroud)

如果我删除databaseTester.onSetup()行,我会得到一个SQLException: …

java junit dbunit jdbc hsqldb

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

如何让Jackson的build()方法完美打印其JSON输出?

我使用Spring,Jersey和Jackson来提供生成JSON的API.

我的@Component有一个@Get方法,它返回Response.ok(entity).build().

输出非常紧凑.如何使输出漂亮/格式化?

spring json pretty-print jersey jackson

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