小编Joe*_*ckx的帖子

JsonMappingException:找不到类型[simple type,class]的合适构造函数:无法从JSON对象实例化

我在尝试获取JSON请求并处理它时收到以下错误:

org.codehaus.jackson.map.JsonMappingException:找不到类型[simple type,class com.myweb.ApplesDO]的合适构造函数:无法从JSON对象实例化(需要添加/启用类型信息?)

这是我要发送的JSON:

{
  "applesDO" : [
    {
      "apple" : "Green Apple"
    },
    {
      "apple" : "Red Apple"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

在Controller中,我有以下方法签名:

@RequestMapping("showApples.do")
public String getApples(@RequestBody final AllApplesDO applesRequest){
    // Method Code
}
Run Code Online (Sandbox Code Playgroud)

AllApplesDO是ApplesDO的包装器:

public class AllApplesDO {

    private List<ApplesDO> applesDO;

    public List<ApplesDO> getApplesDO() {
        return applesDO;
    }

    public void setApplesDO(List<ApplesDO> applesDO) {
        this.applesDO = applesDO;
    }
}
Run Code Online (Sandbox Code Playgroud)

ApplesDO:

public class ApplesDO {

    private String apple;

    public String getApple() {
        return apple;
    }

    public void setApple(String appl) { …
Run Code Online (Sandbox Code Playgroud)

java spring json annotations jackson

422
推荐指数
11
解决办法
40万
查看次数

在Maven中生成Version.java文件

我有一个使用Ant脚本构建的Java项目.我正在尝试将项目转换为Maven.

其中一个任务生成一个名为Version.java的Java源文件,其中包含编译时间戳的静态String表示形式,如下所示:

package com.foo.bar;
public final class Version {
 public static String VERSION="100301.1046";
}
Run Code Online (Sandbox Code Playgroud)

Ant任务非常简单:

<target name="version" depends="init" description="Create Version.java">
    <echo file="src/${package.dir}/Version.java" message="package ${package.name};${line.separator}" />
    <echo file="src/${package.dir}/Version.java" append="true" message="public final class Version {${line.separator}" />
    <echo file="src/${package.dir}/Version.java"
          append="true"
          message=" public static String VERSION=&quot;${buildtime}&quot;;${line.separator}" />
    <echo file="src/${package.dir}/Version.java" append="true" message="}${line.separator}" />
    <echo message="BUILD ${buildtime}" />
</target>
Run Code Online (Sandbox Code Playgroud)

是否可以使用生成源或其他简单方法在Maven中执行类似的操作?

java maven-2 code-generation

54
推荐指数
6
解决办法
5万
查看次数

与apache web服务器和tomcat服务器的粘性会话

我使用apache web服务器作为apache后面的两个tomcat实例的负载均衡器.当第一个请求进入节点A并且来自同一客户端的第二个请求进入节点B时,我无法访问节点A中的会话变量.很明显.我在互联网上浏览并发现启用粘性会话会有所帮助.但是在apache中启用粘性会话的所有教程看起来都很混乱.这是否有任何简单的分步教程?请帮忙.

来自评论的代码片段:

ProxyPass /balancer-manager ! 
ProxyPass /balancer://mycluster/ stickysession=JSESSIONID 
ProxyPassReverse /balancer://mycluster/ 
<Proxy balancer://mycluster>; 
  BalancerMember ajp://localhost:9001/ route=NodeA1000 retry=10 
  BalancerMember ajp://localhost:9002/ route=NodeB1000 retry=10 
</Proxy> 
Run Code Online (Sandbox Code Playgroud)

java apache tomcat

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

为什么同步不能正常工作?

这是我的代码:

private int count = 0;

  public synchronized void increment() {
      count++;
  }

 public void doWork() throws InterruptedException {

    Thread t1 = new Thread(new Runnable() {
        public void run() {
            for (int i = 0; i < 5; i++) {
                increment();
                System.out.println(count+"  "+Thread.currentThread().getName());
            }}});

    Thread t2 = new Thread(new Runnable() {
        public void run() {
            for (int i = 0; i < 5; i++) {
                increment();
                System.out.println(count+"  "+Thread.currentThread().getName());
            }}});

    t1.start();
    t2.start();
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

2  Thread-1
2  Thread-0
3  Thread-1
5 …
Run Code Online (Sandbox Code Playgroud)

java multithreading synchronized

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

如何导入java项目(Eclipse)

我已经尝试通过右键单击项目并选择导入来导入.zip项目,然后导航到桌面上的zip文件夹,然后我们就去了.如果我这样做,我得到项目名称旁边的红色感叹号,谷歌搜索后发现是由于构建路径错误.

.zip是从我的老板机器创建并通过电子邮件发送给我的,但他今天不在办公室,我只是一名安置学生,所以我几乎不知道如何解决这个问题.

有没有人有任何提示/帮助他们可以提供给我.谢谢

java eclipse build

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

将时间戳从一种格式转换为另一种格式

我的时间戳为2015-02-12T12:47:17.101+05:30. 在java中,我只想得到MMM_dd_yyyy。我尝试使用 SimpleDateFormat 类。但我无法得到它。你能告诉我如何获取月、日和年吗? 更新:

public static void main(String[] a ) {
 SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy");
 System.out.println(sdf.format("2015-02-12T12:47:17.101+05:30"));
}
Run Code Online (Sandbox Code Playgroud)

我收到 java.lang.IllegalArgumentException 错误。可能是什么问题?

java

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

使用客户端Java套接字同步服务器

目前我正在研究使用带有Runnable线程的 java发送数据的服务器/客户端应用程序.问题是客户端正在发送数据,当服务器开始读取数据时,客户端已经完成并关闭了连接,在服务器端只有部分数据到达,它们是否可以设置为同步?

这是客户:

private void ConnectionToServer(final String ipAddress, final int Port) {
   final ExecutorService clientProcessingPool = Executors.newFixedThreadPool(10);

   Runnable serverTask = new Runnable() {
        @Override
        public void run() {
            try {
                socket = new Socket(ipAddress, Port);

                bos = new BufferedOutputStream(socket.getOutputStream());
                dos = new DataOutputStream(socket.getOutputStream());

                File f = new File("C:/Users/lukeLaptop/Downloads/RemoveWAT22.zip");

                String data = f.getName()+f.length();
                byte[] b = data.getBytes();

                sendBytes(b, 0, b.length);


                dos.flush();
                bos.flush();

                bis.close();

                dos.close();

                //clientProcessingPool.submit(new ServerTask(socket));
           } catch (IOException ex) {
               Logger.getLogger(ClientClass.class.getName()).log(Level.SEVERE, null, ex);           } finally …
Run Code Online (Sandbox Code Playgroud)

java sockets

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