Tag: exception

为什么在Linux上使用Java Attach API会失败? (即使maven构建完成)

我一直在使用Java Attach API(tools.jar的一部分)连接到正在运行的java进程,并从内部关闭它。 它在Windows上运行完美。 然而,当在linux上运行时尝试实际执行附加代码时,我得到一个java.lang.NoClassDefFoundError其中包含以下堆栈跟踪原因… java.lang.ClassNotFoundException:com.sun.tools.attach.VirtualMachine… java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) java.lang.ClassLoader.loadClass(ClassLoader.java:306) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:247) 我正在使用Maven,到目前为止我有这个部分,以便包含tools.jar。 com.sun tools 1.4.2 system ${java.home}/../lib/tools.jar 值得注意的是$ {java.home}计算jre,但即使我将其更改为jdk的直接路径,问题也是一样的。 我很难过……

如何从容器管理的事务提交中捕获exception?

我有一个带有@WebService接口的@Stateless EJB,使用容器管理的事务,这意味着如果没有抛出系统exception,在调用方法后,容器会自动提交事务。 如果我尝试EntityManager.persist(…)两个具有相同值的对象,对于具有唯一约束的列,容器将在我的代码之外的提交时向客户端抛出PersistenceException 。 我如何捕获此exception,以便我可以重新抛出自己的应用程序exception? 我是否必须在我的方法中手动提交事务以捕获提交中的exception? (并且EntityManager.flush()是正确的方法吗?)如果是这样,那么容器管理事务的重点是什么?

拦截exception

我想使用自定义exception,以便在发生任何排序exception时出现用户友好的消息。 这样做的直接方式是什么? 我是否应采取额外的预防措施以避免干扰Swing的EDT?

“java.lang.IllegalArgumentException:uri.getScheme()== null! “使用JavaFX播放音频时出错

我正在尝试在Java上播放mp3音频,其中一种forms。 我相信是JavaFX,一切顺​​利,直到我尝试播放音频。 这是代码: import javax.sound.sampled.AudioPermission; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.stage.Stage; public class fx_main extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText(“Say ‘Hello World'”); btn.setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { System.out.println(“Hello World!”); Media […]

RESTEasy Mock vs. Exception Mapper vs. Context

RESTEasy模拟框架在没有exception映射器的情况下工作正常 – 收到请求并返回具有预期内容的实体。 注册exception映射器并强制exception后,当RESTEasy的内部调用ResteasyProviderFactory.getContextData(type)时调用失败,返回null,导致意外的错误消息:“无法找到类型的上下文数据:javax.servlet.http.HttpServletRequest” 。 无法在网上任何地方找到RESTEasy模拟加上exception映射器的任何示例,也无法找到有关错误的任何有用信息。 客户类: package com.foo; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “foo-type”, propOrder = { “name” }) @XmlRootElement(name = “foo”) public class Foo { protected String name; public String getName() { return name; } public void setName(String value) { this.name = value; } } 对象工厂: package […]

包com.sun.xml.internal.bind.v2.model.annotation不存在

我正在尝试使用jaxb序列化exception的解决方案。 ( http://forums.java.net/jive/thread.jspa?messageID=256122 ) 我需要为该解决方案实现的类需要引用以下com.sun类。 import com.sun.xml.internal.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl; import com.sun.xml.internal.bind.v2.model.annotation.Locatable; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeInlineAnnotationReader; 当我在Eclipse中编译并运行我的代码时,它工作正常。 但是当我使用Maven编译代码时,它无法抱怨com.sun包,例如“package com.sun.xml.internal.bind.v2.model.annotation不存在”。 eclipse和maven都使用JDK 1.6,所以我不明白为什么会这样。 JDK中不是那些com.sun类吗? 编辑:我最终决定它是不可能的。 我只是创建了一个新的bean并复制了我需要的信息并使用了它。

计时器错误java.lang.IllegalStateException

我试图在JRE 8中显示一个标签,说明所有内容都是正确的3秒,因为我无法在JRE 7中使用DatePicker而且我发现了这个错误。 Exception in thread “Timer-2” java.lang.IllegalStateException: Not on FX application thread; currentThread = Timer-2 at com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source) at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source) at javafx.scene.Scene.addToDirtyList(Unknown Source) at javafx.scene.Node.addToSceneDirtyList(Unknown Source) at javafx.scene.Node.impl_markDirty(Unknown Source) at javafx.scene.Node$7.invalidated(Unknown Source) at javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source) at javafx.beans.property.BooleanPropertyBase.set(Unknown Source) at javafx.css.StyleableBooleanProperty.set(Unknown Source) at javafx.scene.Node.setVisible(Unknown Source) at Pantallas.PersonalContabilidad$1.run(PersonalContabilidad.java:221) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) correct是一个标签,我显示3秒,它在correct.setVisible(false);失败correct.setVisible(false); […]

运行axis2客户端版本1.5

所以我试图让客户端连接到我正在通过axis2运行的SOAP服务。 我尝试了两种方法,一种是使用wsdl2java来构建存根和关联的客户端类,然后编写一个Client类来构建请求消息并通过Stub发送它们。 另一种方法是使用ServiceClient连接.. 两者都以自己的方式失败了.. 选项#1,每次通过存根发送消息时我都会回复: org.apache.axis2.AxisFault: The input stream for an incoming message is null. at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:87) at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 选项#2,每次我运行它我得到这个例外: org.apache.axis2.deployment.DeploymentException: org.apache.axis2.transport.local.LocalTransportSender 选项#2来源: import javax.xml.stream.XMLStreamException; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.Constants; import org.apache.axis2.client.ServiceClient; public class loyaltyClient { private static […]

在编写字符串时,如何调试导致转换错误的xml对象?

我有一个XML对象,当我将其转换为字符串时 public static String XMLElementToString(Document doc, Element e) { // — Output XML — try { TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transformer = transFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, “yes”); transformer.setOutputProperty(OutputKeys.ENCODING, “UTF-8”); StringWriter buffer = new StringWriter(); Result result = new StreamResult(buffer); Source source = null; if (e != null) { transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, “yes”); source = new DOMSource(e); } else […]

Java是否默认声明“抛出exception”?

考虑以下课程: class X { public void met() { } } 和 class Y extends X { public void met() throws NullPointerException { throw new NullPointerException(); } } 从我在其他问题上阅读的内容( 为什么不能覆盖方法抛出比重写方法更广泛的exception?和抛出exception的Java方法 ) 我理解子类中的重写方法必须抛出重写方法中抛出的exception的相同或子类。 Java方法总是抛出exception类型的exception吗? …换句话说,编译器添加抛出exception 所以X类看起来像这样 class X { public void met() throws Exception { } } 我想澄清一下,我并没有错误地总是添加默认exception处理程序Exception。 相关问题: IOException与RuntimeException Java