【发布时间】:2015-07-12 05:46:39
【问题描述】:
我在 NetBeans 中创建了一个 Java 项目,并且自动构建的分发文件 (.jar) 在我的 Ubuntu 15.04 AMD64 机器上运行得非常好。
我想在分发它之前确保它在 Windows 上运行,但在 Windows 7 32 位机器上测试后发现它不起作用。以下是错误消息的屏幕截图。
我可以猜到一些问题 - 因为它谈到了 .regex 错误。我并没有真正在我的代码中使用正则表达式,而是使用我认为调用正则表达式包的 String.split - 那是在我的 FileHandler 类的构造函数中。所以看起来这是一个问题。
您可以在 GitHub 上查看完整代码:
https://github.com/samredway/PwStore/tree/master/src/com/redway_soft/pwstore
目标机器上的Java版本是:1.8.0_45 在我的构建机器上也是如此。
非常感谢任何帮助。
编辑导致问题的特定部分似乎是我的 FileHandler 类的构造函数。看起来像这样:
public FileHandler() {
String path = this.getClass().getProtectionDomain().getCodeSource()
.getLocation().toString().substring(5);
String[] arry_path = path.split(File.separator);
path = "";
for (int i = 0, j = arry_path.length - 1; i < j; i++) {
path += arry_path[i] + File.separator;
}
PASSWORDS = path + "data" + File.separator + "passwords.sec";
}
【问题讨论】:
-
提示您的下一个问题:由于堆栈跟踪提供了有关确切错误位置的信息,因此至少将与该行相关的一些行粘贴到问题中。首先,您强迫人们前往外部站点,并且在下一次提交时,您将在堆栈跟踪中引用的行号变得基本上无效,从而大大降低了您的问题的有用性。
-
我更新了问题以包含相关代码。谢谢。
-
太棒了,谢谢!这让这个问题对后代来说变得更加有趣!
-
请复制/粘贴文本(不仅字节少,而且对搜索引擎友好),而不是嵌入文本图像。要从 Windows CLI 复制文本,请在窗口中单击鼠标右键,选择复制,拖动要复制的文本,然后按 Enter 键。
标签: java ubuntu jvm cross-platform