小编MRa*_*ser的帖子

如何确定已加载类的绝对路径(如果有)?

是否有(兼容的,如果可能的话)确定加载类的绝对路径的方法?

当然,这并不总是可行的(如果你想到动态创建的类),但如果加载的Class在jar中,如何获取这个jar的绝对路径?

java reflection jar classloader absolute-path

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

如何修补eclipse插件?

我想在eclipse插件(WTP的官方插件)中修复一个错误.我在本地更改了源代码,调试了它 - 一切都很好.

现在我想将此更改传播到我的eclipse安装,但我遇到了问题.似乎有不止一种方法可以达到这个目的,例如:

这个站点推荐了片段,但是Eclipse FAQ忽略了这一点.

但我被困住了,似乎没有办法对我有用.

更新:

我按照建议尝试创建并安装功能补丁.安装完成后,将安装功能补丁,但不会安装包含补丁的插件.插件的先前/现有版本仍然存在且处于活动状态.

我想知道为什么会这样吗?这件事与签名官方插件有关吗?是否有日志可以查看未安装修补插件的原因?

最终更新:

问题是我修补了一个父功能(已经在eclipse安装细节中显示),而不是直接包含该插件的直接功能.在为修补指定正确/"最低级别"功能后,一切都按预期工作.

java eclipse eclipse-plugin

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

导致SAXException2的原因:"com.foo.Bar"的实例替换为"java.lang.Object",但"com.foo.Bar"绑定到匿名类型

将现有的jaxb(使用jaxb1.0.1和jaxb 2.0.5)应用程序(在带有jdk5的JBoss 4.3上)迁移到jaxb 2.1.10(随jdk6提供,更新jdk1.6.0_30).

我无法修改客户提供的架构.

我已经从Sun RI删除了jaxws20,jwsdp,jaxp和jaxb jar的所有引用,并且仅使用jdk 6提供的jar.

任何指针?

Caused by: com.sun.istack.SAXException2: Instance of “com.foo.Bar” is substituting “java.lang.Object”, but “com.foo.Bar” is bound to an anonymous type com.foo.Bar@a2e3ss
at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:247)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:662)
at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:165)
at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:332)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:698)
at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:332)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:592)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:320)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:493)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
Run Code Online (Sandbox Code Playgroud)

java xml xsd jaxb anonymous-types

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

JPA 2.1:Java 8日期/时间API简介

我想在我的JPA应用程序中添加Java 8 Date/Time API(JSR-310)的支持.

很明显,JPA 2.1 不支持Java 8 Date/Time API.
作为一种解决方法,最常见的建议是使用AttributeConverter.

在我现有的应用程序中,我将实体更改为使用LocalDate/ LocalDateTimetypes作为列映射字段,并为其添加了旧的setter/getter java.util.Date.
我创建了相应的AttributeConverter类.

我的应用程序现在无法使用时,Query.setParameter()java.util.Date实例(它过渡到新的API工作之前).
似乎JPA期望新的日期类型并且不会动态转换它.

我希望如果将参数传递给已注册setParameter()的类型AttributeConverter,它将由转换器自动转换.但似乎并非如此,至少不使用EclipseLink 2.6.2:

java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.Date for parameter closeDate with expected type of class java.time.LocalDate from query string SELECT obj FROM [...]
    at org.eclipse.persistence.internal.jpa.QueryImpl.setParameterInternal(QueryImpl.java:937) ~[eclipselink-2.6.2.jar:2.6.2.v20151217-774c696]
    at …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa eclipselink jpa-2.1

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

如何在java中创建合成字段?

  1. 如何在Java中创建合成字段?

  2. java中的合成字段只能在运行时创建吗?如果不是:在编译时是否有符合标准的方法(不更改类文件中的某些字节)

java reflection

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

如何从动态代理中解包原始对象

解包动态代理以检索下面的原始对象的最佳方法是什么?动态代理已使用创​​建java.lang.reflect.Proxy.newProxyInstance()

谢谢.

java reflection proxy-classes dynamic-proxy

9
推荐指数
2
解决办法
9981
查看次数

Guice:我是否必须使用@Inject注释对象图的每个类?

我想介绍Guice使用现有的中型项目.根据我的要求,我需要一个自定义范围(会话太大,而我的项目请求为小).

想象一下,我请求 guice为我提供一个A类实例,它与许多其他类(组合)有直接和间接的依赖关系.

我的自定义提供程序能够提供类的实例,这些类用作所有相关类的构造函数参数.

题:

  • 我是否真的必须@Inject在所有相关类的构造函数上放置一个(和我的自定义范围)注释,或者有一种方法,guice 只需要我请求的顶级类上的这些注释,并且所有其他依赖项都通过"询问"我的自定义范围是否为依赖类型的提供者?

如果这是真的,这将增加引入Guice的努力,因为我必须调整超过1000个类.感谢guice介绍期间的任何帮助和经验.

java dependency-injection guice

9
推荐指数
2
解决办法
3928
查看次数

java,xsd&marshalling:jre bug,我的错还是xsd问题?

我在将JAXB模型树编组到xml文件时遇到了问题.

我使用xjc创建了这些模型类.我无法修改这些xml架构 - 它们是在外部定义的(类似于缺少答案的这个问题).

根据xjc(和其他xml工具),xml架构文件似乎是有效的.我在问是否

  • 这是一个java/jre bug
  • 我做错了什么 或者
  • 如果架构文件有点错误

以及如何解决此问题.

我得到的例外是:

com.sun.istack.internal.SAXException2: "com.mypackage.A" is substituting "com.mypackage.BaseType", but "com.mypackage.A" is bound to an anonymous type.
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:237)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:652)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:343)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:54)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:157)
    at com.sun.xml.internal.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:144)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:343)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:335)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:343)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:335)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:343)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:343)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:685)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:146)
    at …
Run Code Online (Sandbox Code Playgroud)

java xml xsd jaxb

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

sonarqube错误地报告"PreparedStatement没有参数."

sonarqube 错误地报告以下(简化)来源PreparedStatement has no parameters.(鱿鱼:S2695):

public static final String UPDATE_QUERY = "UPDATE TABLE SET COL1=? WHERE PK=?";

private PreparedStatement preparedStatement = null;

public void updateMethod(Date date, Long pk )
{
  if(preparedStatement == null)
  {
    //ConnectionService is not a Connection!
    preparedStatement = ConnectionService.prepareStatement(UPDATE_QUERY);
  }

  //sonarqube reports on the following two lines: 'This "PreparedStatement" has no parameters.'
  preparedStatement.setDate(1, date);
  preparedStatement.setLong(2, pk);
  ResultSet rs = preparedStatement .executeQuery(); 

  //further code left out
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这是分析仪的错误还是限制?

  2. 有什么我可以做的来隐藏这些"误报"吗?

java sonarqube

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

短暂的 Java 应用程序:如何调整 G1 以稍后启动?

我有一些短期应用程序,通常(但并非总是)不需要任何 GC(适合堆,epsilon GC 通过不导致 OOM 证明了这一点)。

有趣的是,尽管仍然有大量空闲堆,但G1 仍然很早就开始启动:

[0.868s][info   ][gc,start     ] GC(0) Pause Young (Normal) (G1 Evacuation Pause)
[0.869s][info   ][gc,task      ] GC(0) Using 13 workers of 13 for evacuation
[0.872s][info   ][gc,phases    ] GC(0)   Pre Evacuate Collection Set: 0.0ms
[0.873s][info   ][gc,phases    ] GC(0)   Evacuate Collection Set: 2.8ms
[0.873s][info   ][gc,phases    ] GC(0)   Post Evacuate Collection Set: 0.4ms
[0.873s][info   ][gc,phases    ] GC(0)   Other: 1.0ms
[0.873s][info   ][gc,heap      ] GC(0) Eden regions: 51->0(45)
[0.873s][info   ][gc,heap      ] GC(0) Survivor regions: 0->7(7)
[0.873s][info   ][gc,heap …
Run Code Online (Sandbox Code Playgroud)

java performance garbage-collection jvm g1gc

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