尝试安装JDK8 U11 OSX 10.10 Yosemite时出错

今天是Oracle JDK8 U11的​​发布。 当我尝试在OSX yosemite 10.10中安装.pkg时出现此错误,无法继续。

JRProperties被弃用,推荐的替换方式

JRProperties类已注释为已弃用,并由JRPropertiesUtil中所述的JRPropertiesUtil替换 我一直在使用它以下列方式设置属性(因为它是一个提供静态方法的类), JRProperties.setProperty(“net.sf.jasperreports.default.font.name”, defaultPDFFont); JRProperties.setProperty(“net.sf.jasperreports.awt.ignore.missing.font”, “true”); (…) 我假设现在设置属性的一种未经推荐的方法。 我已经找到了两种符合API文档的方法,即直接使用JasperReportsContext实例: JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance(); jasperReportsContext.setProperty(“net.sf.jasperreports.awt.ignore.missing.font”, “true”); jasperReportsContext.setProperty(“net.sf.jasperreports.default.font.name”, defaultPDFFont); (…) 或者将JasperReportsContext实例传递给JRPropertiesUtil : JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance(); JRPropertiesUtil jrPropertiesUtil = JRPropertiesUtil.getInstance(jasperReportsContext); jrPropertiesUtil.setProperty(“net.sf.jasperreports.awt.ignore.missing.font”, “true”); jrPropertiesUtil.setProperty(“net.sf.jasperreports.default.font.name”, defaultPDFFont); (…) 所以我的问题是: 设置报表打印机属性的推荐方法是什么?

GWT中TabPanel和TabLayoutPanel之间的区别是什么

GWT中的TabPanel和TabLayoutPanel有什么区别? 我在谷歌找不到答案,很难理解阅读文档

如何声明方法引用数组?

我知道如何以这种方式声明其他东西的数组,比如字符串: String[] strings = { “one”, “two”, “tree” }; // or String[] strings = new String[] { “one”, “two”, “tree” }; 但是当谈到方法引用时,我无法弄清楚如何避免创建列表并单独添加每个项目。 示例:在两个来源的几个不同匹配列表上调用方法smartListMerge : List<Function> listGetters = new ArrayList(3); listGetters.add(TodoUser::getPendingList); listGetters.add(TodoUser::getCompletedList); listGetters.add(TodoUser::getWishList); TodoUser userA = …, userB = …; for (Function listSupplier : listGetters) { TodoList sourceList = listSupplier.apply(userA); TodoList destinationList = listSupplier.apply(userB); smartListMerge(sourceList, destinationList); […]

Jenkins插件中的变量替换

我正在开发一个新的Jenkins插件,该插件将在Jenkins作业的构建阶段执行,并且要求允许用户在插件的作业配置中指定变量名称(而不是文字值)。 目的是当作业执行时,用户指定的变量名称将替换为与变量关联的实际值,然后插件将在运行perform方法时使用此实际值。 例如,如果具有值myValue的变量MY_VARIABLE被作业的另一部分注入到构建环境中,并且在我的插件的作业配置中指定了值${MY_VARIABLE} ,那么我希望该插件替换${MY_VARIABLE}使用myValue变量的实际值。 做了一些研究后,我理解Jenkins不会自动用作业配置中的变量替换它们各自的值,这必须由插件处理。 我无法解决的是在我的插件中执行替换的最佳方法。 到目前为止我找到的唯一解决方案是解析从作业配置传递的字符串,看它是否与变量的正确模式匹配,然后在我的代码中查找值。 我的问题是Jenkins API是否提供了一个更好的解决方案,允许我的插件替换具有实际值的变量?

Java Swing:在按下键时执行某些操作

我使用KeyAdpater来获取事件和方法addKeyListener并且工作正常。 问题是当按下键时,动作只发生一次,而不是在被按下时, 在按住键的3-4秒后 ,动作始终发生,这就是我想要的。 我想知道是否有好的方法可以一直按下按键,而不是在按住3-4秒之后。 我想到了下一个解决方案,但也许已经有了实现的方法: public abstract class MyKeyAdapter extends KeyAdapter{ private boolean isPressed = false; private int pressedKey = 0; Thread t = new Thread(new Runnable() { @Override public void run() { while(isPressed) keyPressedAction(pressedKey); } }); @Override public void keyPressed(KeyEvent e) { if(!isPressed){ pressedKey = e.getKeyCode(); t.start(); } } @Override public void keyReleased(KeyEvent […]

来自Selenium 2 / WebDriver的Id的jQuery元素选择器

我可以在Selenium中使用((RemoteWebElement) webElement).getId()获取元素的ID,它返回如下字符串: {e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d} 我想知道该ID的来源。 我正在使用FirefoxDriver() ,所以这个Firefox有关吗? 有没有办法只通过知道这个ID来选择一个带有Jquery的元素?

如何使用Spring 4.0.6全局设置FlushMode for Hibernate 4.3.5.Final?

我正在尝试使用Hibernate 4.3.5.Final和Spring 4.0.6升级我们的应用程序。 我的应用程序中数据库写入操作的任何位置都会出现如下错误: Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove ‘readOnly’ marker from transaction definition. at org.springframework.orm.hibernate4.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1135) at org.springframework.orm.hibernate4.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:826) at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:340) at org.springframework.orm.hibernate4.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:308) at org.springframework.orm.hibernate4.HibernateTemplate.deleteAll(HibernateTemplate.java:823) … 以下是sessionFactory和transactionManager的spring配置: com/mycompany/Person.hbm.xml org.hibernate.dialect.HSQLDialect 1: 为了全局设置flushMode以便应用程序以与以前相同的方式工作,我需要将flushMode设置为全局,因此我不想使用@Transactional(readOnly = false)方法。 2: 在下面的post中,有人建议将singleSession设置为false, Java / Hibernate – 在只读模式下不允许写入操作 Spring文档建议指定“singleSession”=“false”有副作用: http […]

如何检测一个摆动窗口是否高于另一个摆动窗口

我在我的应用程序中打开了几个不相关的JFrames 。 在应用程序退出时,我应该记住所有人的偏好,以便在退出之前恢复他们的相同视图。 问题是当这些帧位于另一个之上时,它们应该以相同的顺序恢复。 另一种方法是较小的frames在较大的frames下不可见。 问题:在这种情况下,如何检测每个frames的深度位置? UPD:我通过比较frames’ location/size pairs检测这种情况,但我仍然不知道如何解决我的问题。 UPD2:注意: several jframes ui不是默认状态。 默认显示One JFrame ,但用户可以根据需要使用多个One JFrame 。 我的问题不是关于how to make single JFrame ,而是how to operate with several ones how to make single JFrame 。

使用processbuilder从java执行curl

我正在java中编写测试程序来测试我与django中的restfull api的连接(精确地说是djangorestframework)。 其中一个选择是用curl测试api。 从shell运行curl命令它工作正常:例如: curl –show-error –request GET –header ‘Accept: application/json’ –user “user:pwd” http://127.0.0.1:8000/api/v1/ 这将以json格式很好地返回api根URL和helptext。 现在,当我尝试使用ProcessBuilder从java调用相同的内容时,我得到了这样的答案: {“detail”: “You do not have permission to access this resource. You may need to login or otherwise authenticate the request.”} 我使用的java代码是: ProcessBuilder p=new ProcessBuilder(“curl”,”–show-error”, “–request”,”GET”, “–header”,”‘Accept: application/json'”, “–user”,”\”” + userName + “:” + password + “\””, getApiRootUrlString()); final Process […]