所以我试着弄清楚了一段时间。我有一个带有JAXB注释的Java类:
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Book {
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
然后,我可以运行schemagen
,如下所示:
schemagen -d d:\Temp Book.java
并生成XML模式:< code>schema1.xsd。返回代码是0(尝试了windows(< code > echo % error level % )和linux (echo $?
)。
现在我需要向这个类添加一些Jackson注释,所以我添加了一个JSON属性:
import javax.xml.bind.annotation.XmlRootElement;
import com.fasterxml.jackson.annotation.JsonProperty;
@XmlRootElement
public class Book {
@JsonProperty("title")
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
不幸的是,现在当我运行模式时,它似乎成功了(生成了模式文件),但返回代码是1(在Linux和Windows上),这对我来说是个问题,因为它会导致gmake失败。
遗憾的是,Schemagen
没有输出任何错误消息。但我怀疑它找不到jackson jar,所以我将jackson-noteation jar(依赖jackson-core和jackson-data ind)复制到常见的D:\Temp位置并运行Schemagen
,如下所示:
schemagen -cp d:\Temp -d d:\Temp Book.java
不幸的是,同样的结果,如果我这样运行:
schemagen -cp d:\Temp\* -d d:\Temp Book.java
我还将得到控制台上输出的单个null
(JAXB人员在这里确实强调了冗长性)并返回-1的代码。
如何使用杰克逊注释成功运行模式(返回代码0)?有什么建议吗?
好的,在朋友的帮助下,我知道实际命令应该是什么样子的:
< code > schema gen-CP D:\ Temp \ Jackson-annotations-2 . 5 . 4 . jar-D D:\ Temp book . Java
原来我们只需要指定jackson annotations jar,而不需要指定依赖jar。在这个简化的场景中,这一点也不明显,但是如果您在Linux上的classpath (-cp参数)中传递多个源,那么这些源需要用冒号而不是分号分隔。基本上,这就是让我徒劳无功的问题。
问题内容: 我有一个班级,想与一个池中的子进程以只读方式共享,所以我准备了一个班级的代理,但是没有用。以下是我的问题的简化示例。 当我运行此代码时,我得到: 看来我无法直接通过代理访问共享库的属性。是使用获取属性的方法的唯一方法,还是我做错了什么? 问题答案: 通常,由其使用的对象及其子类仅公开其引用的对象中的 方法 ,而不公开属性。现在,这里提供,它提供了一个子类,该子类 确实 提供对属性而不是
问题内容: 我正在解析json数据。我的解析没有问题,我正在使用模块。但是某些api请求返回空值。这是我的示例: 这是我解析json对象的代码段: 正如我提到的一些请求,我得到以下错误: 处理此错误的最佳方法是什么? 问题答案: Python编程中有一条规则叫做“求宽容比求许可要容易”(简而言之:EAFP)。这意味着您应该捕获异常,而不是检查值的有效性。 因此,请尝试以下操作: 编辑 :由于实际上
我正试图将华为广告套件集成到我的应用程序中,但它总是返回给我错误代码1,并且无法显示任何广告。我希望这些错误能更好地解释。
我创建了一个C#ASP.NETCore6.0应用程序,并尝试使用Sustainsys使用Azure AD实现SSO。Saml2,特别是Sustainsys.Saml2.AspNetCore2软件包。在使用localhost在我的开发机器上测试了该实现之后,我可以看到它按预期工作,并对用户进行身份验证,填充身份模型,并重定向到正确的URL。 然而,当使用停靠版本部署到测试环境中时,行为会发生变化。触
我正在尝试返回一个对象,它应该是IClass的一个实现,具有一个通用类型,是IType的一个实现。 我要返回的实际类扩展了Class (abstract ),其泛型类型为ActualType: 抽象类对象实现了IClass接口,可以有任何扩展IType的类型 ActualType只是实现了IType接口 我在编译时得到一个“类型不匹配:无法从ActualClass转换为IClass”错误。我不明白
我已经在我的Win 10上安装了XAMPP 7.2.10,Apache和MySQL等其他服务运行良好。但是Tomcat服务没有启动,并且会抛出一个错误:“Tomcat Started/Stopded with error,返回代码:1,确保您安装了JavaJDK或JRE,并且所需的端口是免费的,检查“/xampp/tomcat/logs”文件夹以获取更多信息”XAMPP Tomcat错误图像 我在