我正在尝试构建一个我修改过的Hudson插件,它需要jdk1.6.这很好,但我不知道如何告诉maven不同的jdk在哪里.我在互联网上发现很少提及但它们似乎并不适用于我.有人建议添加一些配置,.m2/settings.xml但我没有settings.xml.另外,我不想对所有maven版本使用1.6.
我mvn在cygwin中使用的一个问题是,如果这很重要的话.看来我应该能够在项目pom文件中制作规范,但是现有的pom非常简单.
那么底线是,有没有办法为maven的单个调用指定一个jdk?
我试图解析一个看起来像这样的日期:
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上使用以获得预期的输出,但我不认为这是必要的.有什么我想念的吗?有替代日期解析器吗?
我需要从xml生成不提供模式的类.我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建一个模型.在过去,我已经手工完成了,但是我正在使用的当前xml文档非常大,而且我可能更好地花时间构建满足我需要的东西.但是,我猜它已经完成了,我找不到它.
有什么指针吗?
我从两个不同的来源消耗了一些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)
所以在这种情况下,我想结合Obj1和Obj2,要么做一个全新的JSONObject或CONCAT一个到另一个.除了将它们分开并单独添加puts 之外的任何想法?
假设我有一个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的文档真的没有组织,而且大部分已经过时了.
在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文档中找不到任何东西.
我在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) 我最近接受了一次采访,并且遇到了一个我要编写代码的小问题.
问题基本上是在长度为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)吗?