System.out.println(Integer.parseInt(e.getMessage()));System.out.println(e.getMessage());System.exit(Integer.parseInt(e.getMessage()));当我在unix中运行代码时system.exit(Integer.parseInt(e.getMessage()))给出254输出:-2-2254 最佳答案 您的操作系统的退出代码是无符号8位整数,因此唯一有效的退出代码是0..255。你得到254的原因是因为它是int
是否可以像“旧”log4j那样将System.out(OutputStream)直接写入日志文件?我只找到log4j的解决方案,没有找到log4j2感谢您的帮助! 最佳答案 使用log4j2-iostreams模块非常容易。假设我们要将所有消息从System.out发送到名称为system.out且日志级别为INFO的记录器:System.setOut(IoBuilder.forLogger(LogManager.getLogger("system.out")).setLevel(Level.INFO).buildPrintStre
在大多数系统上,我的JLabel中的内容都能正常显示。它也以一种方式驻留,它应该总是足够大以显示其内容文本,因为我基本上是这样做的:label.setText(text);label.setFont(newFont(fontName,0,12));intwidth=label.getFontMetrics(label.getFont()).stringWidth(text);intheight=21;//thisshouldalwaysbeenoughlabel.setBounds(newRectangle(x,y,width,height));但是在某些系统上(不是我自己的,所以我真
我有一个Metrojax-ws网络服务,看起来或多或少像这样:@WebService@TransactionalpublicclassUserManagementServiceImpl{@ResourceprivateWebServiceContextcontext;...}WebServiceContext总是空的。但是,如果我删除@Transactional,则会注入(inject)WebServiceContext。有人知道解决方法吗?谢谢。 最佳答案 我找到了解决方法。使用setter注入(inject)而不是字段注入(in
为什么不允许System.out.println(super)?System.out.println(this);这没关系,this.toString()被自动调用和打印。当然,用实例变量代替this也是可以的。但是,this和super可以按照我所知道的方式使用。System.out.println(super);那么为什么会失败呢?我认为它应该隐式调用super.toString()。我已经阅读了Java规范文档,但我没有找到原因。 最佳答案 在http://java.sun.com/docs/books/jls/second_
我有三个类,比如alpha、beta、gamma,这三个类中的每一个都有一个main方法。alpha和beta类在它们的main方法中都有一个try...catch...finallyblock,如下所示:publicclassalpha{publicstaticvoidmain(String[]args){try{Dosomething;}catch(Exceptionex){ex.printStackTrace();}finally{System.exit(0);}}}publicclassbeta{publicstaticvoidmain(String[]args){try{Do
我有一个作为独立Java应用程序的一部分运行的数据访问类。它目前正在工作,这意味着定义了一个事务管理器,但我想重构该类以减少事务的范围,但如果我这样做,我会得到org.hibernate.HibernateException:NoHibernateSessionboundtothread,andconfiguration不允许在此处创建非事务性,这意味着移动@Transactional以某种方式阻止了它被识别。我的原始版本的重构方法是私有(private)的,但我发现有人建议将其更改为公开的,因为在某些情况下注释不会被提取。publicclassDoStuff{@Transaction
我有GenericService类,它封装了子类的crud方法:publicabstractclassGenericService,TextendsDomainObject,I>{publicIsave(Tt){returngetDao().save(t);}...........................}类AnswerService扩展GenericService。它AutowiringAnswerDao并将自己声明为@Service和@Transactionalspring组件。@Service@Transactional(propagation=Propagation.R
我正在使用2个Weblogic数据源;在我的XML配置中,我有2个持久性单元、2个entityManagerFactories和2个transactionManagers。文件如下:persistence.xml:org.eclipse.persistence.jpa.PersistenceProviderorg.eclipse.persistence.jpa.PersistenceProviderconfig.xml:FINEFINE模型库:@Repository("ModelRepo")@PersistenceContext(unitName="modelPersistence")
当我从EclipseHelios使用System.console时,它总是返回null。但是,当我直接从命令行使用它时(即从命令提示符手动编译和执行java源代码),我确实得到了一个控制台对象。为了知道为什么会发生这种情况,我检查了this关联。根据它,当我从Eclipse运行我的Java代码时,后台作业调度程序必须启动我的JVM。这是什么意思?当我从命令行启动时,我的JVM启动有何不同?我还检查了this关联。McDowell在这里说cmd.exe是一个控制台设备。那么我再次感到困惑,这到底是一个控制台设备? 最佳答案 因为是