Tag: java

NetBeans中的“不可编译的源代码”RuntimeException

我正试图帮助另一位使用Netbeans的开发人员。 当他在Netbeans(6.9.1)中运行或debugging他的一些代码时,他得到一个“不可编译的源代码” RuntimeException 。 我在Java方面非常有经验,但是我更习惯于IntelliJ,并且根本没有使用过Netbeans。 我已经做了一些谷歌search,看来Netbeans将编译代码,即使有错误,然后抛出RuntimeException的错误。 (相当不好的行为国际海事组织,但我想有些人会发现它有用。)我让他完全重build项目没有编译错误,但RuntimeException似乎仍然发生。 我认为他在Netbeans内部有一些不好的caching类数据。 2个问题: 什么是清除caching的最好方法,以便我们可以找出不可编译代码的位置? 有什么办法closures这种行为,所以代码将不会运行/debugging,除非一切都会编译,所以这些RuntimeException将不会被注入到代码? 我已经search了一点点,但还没有find任何这些问题的答案。 更新:更多信息: closures“保存时编译”选项使问题消失。 重新开启CoS让exception恢复。 不幸的是,这不是一个解决scheme,因为CoS是一个非常有用的select。 http://netbeans.org/bugzilla/show_bug.cgi?id=182009似乎是最接近的错误报告,但它已被closures为“解决不完整”。 不幸的是,这个错误很难重现 – 在Java库代码中,当调用第三方库时就会发生exception,所以在抛出exception的时候我们可以改变什么。 而代码将工作几个星期,然后突然开始抛出这个错误没有明显的原因为什么。 我们尝试手动删除整个构build目录 – 仍然不是一个修复。

我可以在Number基类上进行算术运算吗?

我正在尝试在Java中创build一个将执行数字操作的generics类。 在下面的例子中,添加如下: public class Example <T extends Number> { public T add(T a, T b){ return a + b; } } 原谅我的天真,因为我是相对较新的Javagenerics。 此代码无法编译的错误: 运算符+对于参数typesT,T是未定义的 我认为,增加“扩展数字”的代码将编译。 是否有可能做这个Java,或者我将不得不为每个数字types创build重写的方法?

Java垃圾收集器 – 它什么时候收集?

什么是什么决定垃圾收集器实际收集的时间? 这是否发生在一定的时间或一定量的内存已经用完之后? 还是还有其他因素?

Gson是默认的无参数构造函数吗?

Gson用户指南指出,我们应该定义任何类的默认无参数构造函数来正确使用Gson。 更甚者,在Gson的InstanceCreator类的javadoc上说,如果我们尝试反序列化类的实例,缺less默认的构造函数,我们应该在这种情况下使用InstanceCreator 。 不过,我试着用缺乏默认构造函数的类来testingGson,而序列化和反序列化都没有任何问题。 这是deserializaiton的一段代码。 没有非参数构造函数的类: public class Mushroom { private String name; private double diameter; public Mushroom(String name, double diameter) { this.name = name; this.diameter = diameter; } //equals(), hashCode(), etc. } 和一个testing: @Test public void deserializeMushroom() { assertEquals( new Mushroom("Fly agaric", 4.0), new Gson().fromJson( "{name:\"Fly agaric\", diameter:4.0}", Mushroom.class)); } 这工作正常。 所以我的问题是: 我真的可以使用Gson而不需要有默认的构造函数,或者在任何情况下它不起作用?

是否有使用当前线程的ExecutorService?

我所追求的是一种兼容的方式来configuration使用线程池或不使用。 理想情况下,其他代码不应该受到影响。 我可以使用1个线程的线程池,但这不是我想要的。 有任何想法吗? ExecutorService es = threads == 0 ? new CurrentThreadExecutor() : Executors.newThreadPoolExecutor(threads); // es.execute / es.submit / new ExecutorCompletionService(es) etc

使用Java使用Selenium WebDriver加载Chromeconfiguration文件

我有一些麻烦,让selenium加载铬configuration文件。 String pathToChrome = "driver/chromedriver.exe"; System.setProperty("webdriver.chrome.driver", pathToChrome); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); String chromeProfile = "C:\\Users\\Tiuz\\AppData\\Local\\Google\\Chrome\\User Data\\Default"; ArrayList<String> switches = new ArrayList<String>(); switches.add("–user-data-dir=" + chromeProfile); capabilities.setCapability("chrome.switches", switches); WebDriver driver = new ChromeDriver(capabilities); driver.get("http://www.google.com"); 它开始很好,工作完美,但我想获得加载的默认configuration文件,因为我想testing它启用了一些扩展和一些首选项testing。 有没有人有一个想法,为什么这个代码不工作? 我用Selenium 2.29.1和2.28.0在windows 7 x64上使用chromedriver 26.0.1383.0进行了testing。

Javainheritance – 实例variables覆盖

为什么超类的实例variables不能在inheritance中使用?

Java gotoxy(x,y)用于控制台应用程序

我正在写一个简单的控制台应用程序(80×24)在Java中,是否有一个gotoxy(x,y)相当于?

运行时的exec()方法不redirect输出

Process p = Runtime.getRuntime().exec("sh somescript.sh &> out.txt"); 我正在使用Java运行此命令。 脚本正在运行,但不会将其streamredirect到文件。 而且, out.txt文件没有被创build。 这个脚本运行良好,如果我在shell上运行它。 有任何想法吗?

使用iReport创buildPDF时使用自定义字体

iReport版本:3.7.1 我用两种方法来解决这个问题。 我的第一个方法 我正在iReport创build一个pdf页面,我有一个字段(从数据库)设置为字体古吉拉特语 – Salarl (印度的区域语言字体)。 该字体在iReport的字体列表中可用。 当我点击预览时,我得到所需的输出,字段在所需的字体样式。 一切都在这里很好。 但生成的pdf文件仍然包含英文字符相同的原始字体。 无论我从应用程序还是从JAVA文件调用报告,结果都是一样的。 经过一番研究,我发现了这个, 第二种方法 JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:\\Gujrati-Saral-1.ttf"); 这将pdf的字体设置为提供的ttf字体,但是现在整个pdf都是Guarati-saral字体,这不是我正在寻找的。 有没有一种方法可以将这种字体专门应用于特定的字段? 要么 当用第二种方法时,是否有办法不把字体Guarati-saral应用于除了所需字段之外的所有其他字段?