小编Dan*_*nDC的帖子

为Maven指定JDK以供使用

我正在尝试构建一个我修改过的Hudson插件,它需要jdk1.6.这很好,但我不知道如何告诉maven不同的jdk在哪里.我在互联网上发现很少提及但它们似乎并不适用于我.有人建议添加一些配置,.m2/settings.xml但我没有settings.xml.另外,我不想对所有maven版本使用1.6.

mvn在cygwin中使用的一个问题是,如果这很重要的话.看来我应该能够在项目pom文件中制作规范,但是现有的pom非常简单.

那么底线是,有没有办法为maven的单个调用指定一个jdk?

java settings maven-2 pom.xml

123
推荐指数
9
解决办法
22万
查看次数

simpledateformat使用'Z'文字解析日期

我试图解析一个看起来像这样的日期:

yyyy-MM-dd'T'HH:mm:ss
Run Code Online (Sandbox Code Playgroud)

这是http://www.ietf.org/rfc/rfc3339.txt的有效日期."Z"字面意思"暗示UTC是指定时间内的首选参考点."

如果我尝试使用SimpleDateFormat和此模式解析它:

yyyy-MM-dd'T'HH:mm:ssz
yyyy-MM-dd'T'HH:mm:ssZ
Run Code Online (Sandbox Code Playgroud)

它将被解析为2010年4月5日17:16:00美国东部时间2010年

SimpleDateFormat无法使用以下模式解析字符串:

yyyy-MM-dd'T'HH:mm:ss
Run Code Online (Sandbox Code Playgroud)

我可以显式设置TimeZone在SimpleDateFormat上使用以获得预期的输出,但我不认为这是必要的.有什么我想念的吗?有替代日期解析器吗?

java timezone datetime parsing simpledateformat

73
推荐指数
7
解决办法
12万
查看次数

如何从XML生成JAXB类

我需要从xml生成不提供模式的类.我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建一个模型.在过去,我已经手工完成了,但是我正在使用的当前xml文档非常大,而且我可能更好地花时间构建满足我需要的东西.但是,我猜它已经完成了,我找不到它.

有什么指针吗?

java xml jaxb

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

合并(Concat)Java中的多个JSONObjects

我从两个不同的来源消耗了一些JSON,我最终得到两个JSONObject,我想将它们合并为一个.

数据:

"Object1": {
    "Stringkey":"StringVal",
    "ArrayKey": [Data0, Data1]
}

"Object2": {
    "Stringkey":"StringVal",
    "Stringkey":"StringVal",
    "Stringkey":"StringVal",
}
Run Code Online (Sandbox Code Playgroud)

代码,使用http://json.org/java/库:

// jso1 and jso2 are some JSONObjects already instantiated
JSONObject Obj1 = (JSONObject) jso.get("Object1");
JSONObject Obj2 = (JSONObject) jso.get("Object2");
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,我想结合Obj1Obj2,要么做一个全新的JSONObject或CONCAT一个到另一个.除了将它们分开并单独添加puts 之外的任何想法?

java json concat

50
推荐指数
4
解决办法
10万
查看次数

使用类名作为JSON Jackson序列化的根密钥

假设我有一个pojo:

import org.codehaus.jackson.map.*;

public class MyPojo {
    int id;
    public int getId()
    { return this.id; }

    public void setId(int id)
    { this.id = id; }

    public static void main(String[] args) throws Exception {
        MyPojo mp = new MyPojo();
        mp.setId(4);
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
        System.out.println(mapper.getSerializationConfig().isEnabled(SerializationConfig.Feature.WRAP_ROOT_VALUE));
        System.out.println(mapper.writeValueAsString(mp));
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用Jackson ObjectMapper进行序列化时,我得到了

true
{"id":4}
Run Code Online (Sandbox Code Playgroud)

但我想要

true
{"MyPojo":{"id":4}}
Run Code Online (Sandbox Code Playgroud)

我一直在搜索,Jacksons的文档真的没有组织,而且大部分已经过时了.

java serialization json jackson

27
推荐指数
4
解决办法
6万
查看次数

使用显式默认字符集创建mysql表,如果不这样做,该怎么办?

在mysql 5.x中,如果我做这样的事情会有什么区别:

CREATE TABLE aTable (
    id                       BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    aNumber          bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
Run Code Online (Sandbox Code Playgroud)

有了这个:

CREATE TABLE aTable (
   id                       BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   aNumber            bigint(20) DEFAULT NULL
) ENGINE=InnoDB CHARACTER SET=utf8;
Run Code Online (Sandbox Code Playgroud)

注意我没有在第一个中将字符集指定为默认值.我在mysql文档中找不到任何东西.

mysql default character-encoding

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

Hibernate无法打开连接

我在hibernate无法打开连接时遇到问题.我有一个DAO:

public class MyDao extends HibernateDaoSupport
{
    DataSource dataSource;

    public void setDataSource(DataSource dataSource)
    {
        this.dataSource = dataSource;
    }

    public MyPOJO findByQuery(int hour)
    {
        Query query = this.getSession().createSQLQuery(
        "SELECT * FROM MyPOJO WHERE someDate >= DATE_SUB(now(), INTERVAL ? HOUR)")
        .addEntity(MyPOJO.class);

        List<MyPOJO> results = query.setInteger(0, hours).list();

        return results;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在测试用例中调用findByQuery(1)8次,它可以工作,但如果我第9次调用它失败了:

org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
at org.hibernate.loader.Loader.doQuery(Loader.java:673)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jdbc

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

这个算法没有二次运行时间吗?

我最近接受了一次采访,并且遇到了一个我要编写代码的小问题.

问题基本上是在长度为n的数组中找到重复,使用O(n)中的常量空间.每个元素在1-(n-1)范围内,并保证是重复的.这就是我想出的:

public int findDuplicate(int[] vals) {
    int indexSum=0;
    int valSum=0;   
    for (int i=0; i< vals.length; i++) {
         indexSum += i;
         valSum += vals[i];
    }
    return valSum - indexSum;
}
Run Code Online (Sandbox Code Playgroud)

然后我们讨论了这个算法的运行时间.从0 - > n =(n ^ 2 + n)/ 2的系列之和,它是二次的.但是,算法是不是O(n)时间?操作数量受数组长度的限制吗?

我错过了什么?这个算法是O(n ^ 2)吗?

algorithm code-analysis constraints

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