【问题标题】:Build problems related to json构建json相关问题
【发布时间】:2015-10-28 19:19:09
【问题描述】:

当我尝试运行 antbuild 时,我在控制台中遇到了这些错误。请帮助我解决这些错误。我还在 Web\lib 中包含了所有其他需要的 jars。

Buildfile: J:\workspace\new\bluemixx\WordGuess\build.xml
clean:
   [delete] Deleting directory J:\workspace\new\bluemixx\WordGuess\bin
init:
    [mkdir] Created dir: J:\workspace\new\bluemixx\WordGuess\bin
build-project:
     [echo] WebStarterApp: J:\workspace\new\bluemixx\WordGuess\build.xml
    [javac] Compiling 7 source files to J:\workspace\new\bluemixx\WordGuess\bin
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:7: error: package org.apache.wink.json4j does not exist
    [javac] import org.apache.wink.json4j.JSONArray;
    [javac]                              ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:8: error: package org.apache.wink.json4j does not exist
    [javac] import org.apache.wink.json4j.JSONObject;
    [javac]                              ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Category.java:18: error: package com.fasterxml.jackson.annotation does not exist
    [javac] import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
    [javac]                                        ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Category.java:19: error: package com.fasterxml.jackson.annotation does not exist
    [javac] import com.fasterxml.jackson.annotation.JsonProperty;
    [javac]                                        ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Category.java:21: error: cannot find symbol
    [javac] @JsonIgnoreProperties({"id", "revision"})
    [javac]  ^
    [javac]   symbol: class JsonIgnoreProperties
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Word.java:18: error: package com.fasterxml.jackson.annotation does not exist
    [javac] import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
    [javac]                                        ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Word.java:19: error: package com.fasterxml.jackson.annotation does not exist
    [javac] import com.fasterxml.jackson.annotation.JsonProperty;
    [javac]                                        ^
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Word.java:21: error: cannot find symbol
    [javac] @JsonIgnoreProperties({"id", "revision"})
    [javac]  ^
    [javac]   symbol: class JsonIgnoreProperties
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Category.java:24: error: cannot find symbol
    [javac]     @JsonProperty("_id")
    [javac]      ^
    [javac]   symbol:   class JsonProperty
    [javac]   location: class Category
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Category.java:27: error: cannot find symbol
    [javac]     @JsonProperty("_rev")
    [javac]      ^
    [javac]   symbol:   class JsonProperty
    [javac]   location: class Category
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Word.java:24: error: cannot find symbol
    [javac]     @JsonProperty("_id")
    [javac]      ^
    [javac]   symbol:   class JsonProperty
    [javac]   location: class Word
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\model\Word.java:27: error: cannot find symbol
    [javac]     @JsonProperty("_rev")
    [javac]      ^
    [javac]   symbol:   class JsonProperty
    [javac]   location: class Word
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:27: error: cannot find symbol
    [javac]             JSONObject obj = new JSONObject(System.getenv("VCAP_SERVICES"));
    [javac]             ^
    [javac]   symbol:   class JSONObject
    [javac]   location: class CloudantConnection
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:27: error: cannot find symbol
    [javac]             JSONObject obj = new JSONObject(System.getenv("VCAP_SERVICES"));
    [javac]                                  ^
    [javac]   symbol:   class JSONObject
    [javac]   location: class CloudantConnection
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:28: error: cannot find symbol
    [javac]             String[] names = JSONObject.getNames(obj);
    [javac]                              ^
    [javac]   symbol:   variable JSONObject
    [javac]   location: class CloudantConnection
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:33: error: cannot find symbol
    [javac]                         JSONArray val = obj.getJSONArray(name);
    [javac]                         ^
    [javac]   symbol:   class JSONArray
    [javac]   location: class CloudantConnection
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:34: error: cannot find symbol
    [javac]                         JSONObject serviceAttr = val.getJSONObject(0);
    [javac]                         ^
    [javac]   symbol:   class JSONObject
    [javac]   location: class CloudantConnection
    [javac] J:\workspace\new\bluemixx\WordGuess\src\com\bluemix\hangman\data\CloudantConnection.java:35: error: cannot find symbol
    [javac]                         JSONObject credentials = serviceAttr.getJSONObject("credentials");
    [javac]                         ^
    [javac]   symbol:   class JSONObject
    [javac]   location: class CloudantConnection
    [javac] 18 errors

BUILD FAILED
J:\workspace\new\bluemixx\WordGuess\build.xml:30: Compile failed; see the compiler error output for details.

Total time: 539 milliseconds

当我尝试运行 antbuild 时,我在控制台中遇到了这些错误。请帮助我解决这些错误。我还在 Web\lib 中包含了所有其他需要的 jars。

【问题讨论】:

    标签: java json xml ant


    【解决方案1】:

    请确保通过 ant 正确编译类并在准备 jar/war 时...确保将 basedir 指定为包含所有类的目录,与 ant 编译源 java 的目录相同代码到类。

    一个简单的例子如下所示

    `

    <target name="clean">
        <delete dir="build"/>
    </target>
    
    <target name="compile">
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes"/>
    </target>
    
    <target name="jar">
        <mkdir dir="build/jar"/>
        <jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
            <manifest>
                <attribute name="Main-Class" value="oata.HelloWorld"/>
            </manifest>
        </jar>
    </target>
    
    <target name="run">
        <java jar="build/jar/HelloWorld.jar" fork="true"/>
    </target>
    

    ` 在这里可以看到compile target将java代码编译成build/classes,jar target从build/classes目录下的classes创建jar

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多