我需要与不了解Java的网络管理员进行沟通,以解决运行getLocalHost()时发现的网络设置问题。该框位于两个网络上,并且getLocalHost()返回错误的一个。在我们所有其他服务器上,都不会发生这种情况。我希望能够使用命令行显示网络管理员,这是错误的。但是我对linux网络命令还不够熟悉,无法知道要调用什么。
我想使用 Hibernate 的模式生成来为我无法直接从我的 PC 访问的数据库生成 DDL,只需使用 hibernate 配置文件。如果可能,我想跳过本地 oracle 数据库的安装。hibernate 可以为适当方言、版本等的“理论”数据库生成 DDL,还是白日做梦?
有没有其他工具可以做到这一点?
我有一个在 java JDK 1.7 下运行的批处理。它在带有 RHEL、2.6.18-308.el5 #1 SMP 的系统上运行。
此过程从数据库中获取元数据对象列表。它从这个元数据中提取文件的路径。该文件可能实际存在,也可能不存在。
该进程使用 ExecutorService ( Executors.newFixedThreadPool()) 来启动多个线程。每个线程都运行一个 Callable,它启动一个进程,该进程读取该文件并在该输入文件存在时写入另一个文件(并记录结果),如果该文件不存在则不执行任何操作(记录该结果除外)。
我发现行为是不确定的。尽管每个文件的实际存在始终不变,但运行此过程并不会给出一致的结果。它通常会给出正确的结果,但偶尔会发现一些确实存在的文件不存在。如果我再次运行相同的过程,它会发现它之前所说的文件不存在。
为什么会发生这种情况,是否有更可靠的替代方法?在其他线程尝试读取目录时在多线程进程中写入文件是否错误?较小的线程池会有所帮助(目前为 30)吗?
更新: 这是在这种情况下工作线程调用的 unix 进程的实际代码:
public int convertOutputFile(String inputFile, String outputFile)
throws IOException
{
List<String> args = new LinkedList<String>();
args.add("sox");
args.add(inputFile);
args.add(outputFile);
args.addAll(2, this.outputArguments);
args.addAll(1, this.inputArguments);
long pStart = System.currentTimeMillis();
int status = -1;
Process soxProcess = new ProcessBuilder(args).start();
try {
// if we don't wait for the process to complete, player won't
// find the converted file.
status = soxProcess.waitFor(); …Run Code Online (Sandbox Code Playgroud) 我是Gradle的新手,并且是经验丰富的Maven专家。到目前为止,尽管我喜欢Gradle,但我已经缺少Maven的功能-因为它不存在,或者因为我没有找到它,或者因为它被称为其他东西。
在Maven中,有一个继承的概念,通过这个继承,一个POM可以从父代继承属性和某些行为,并且由于父POM也可以从祖父母POM等继承父代。因此,可以对构建位进行模板化行为。这是我希望能够做到的事情,因为我正在设计替代旧的硬性构建系统(称为“规则”之类的东西)的过程。Maven父级中定义的任何此类属性或行为都可以在子级中覆盖。
有人可以指出我在Gradle中可以找到类似概念的地方吗?
我到处都是文档,却没有确切地看到我所追求的,但是也许我会错过它?我查看了Gradle的比较表,发现“命名域对象容器”被描述为“非常强大的功能”,但是该链接指向的是Javadoc,而不是示例如何使用它。
然后是“用于预配置构建的多个混入”,这听起来也很有趣,但同样没有任何示例。
在此先感谢任何可以提供帮助的人。
更新: 我在这里重复我在下面的评论中所说的,以强调我要在这里完成的工作:
在我的情况下,有数百个多构建项目,其子项目大多属于以下几类之一,每个子项目都有一致的结构和假设(关于目录结构,使用的rpm脚本等),我不想存储所有这些一致性在父级中(在每个父级项目中都需要重复),但在所有“父级”层级上都存在并且所有子项项目都可以访问的“元层”中。 这种可访问性可能应该通过父项目来实现,但不应驻留在那里。
我需要创建一个派生自JTextComponent(从JTextPane,实际)的类,其中至少有一个默认键映射被更改.也就是说,在我特殊的JTextPane中,我希望">"键击执行操作而不是将该字符添加到文本窗格中,因为默认情况下会处理所有可打印的键入字符.
为了打破正常行为,有以下API:
JTextComponent.getKeymap() Keymap.addActionForKeyStroke()JTextComponent.setKeymap()但是,我发现尽管这些方法不是静态的,但它们会影响JTextComponent我的应用程序中所有s 使用的键盘映射.没有简单的机制可以克隆Keymap,可能会解决问题,或者我错过了什么.
我所追求的是一种改变我的JTextPane类的键映射的方法,但不是所有来自JTextComponent类的键.
或者我应该在别处寻找?
在java中输出short的二进制表示是否有内置支持?
当然,这个,建议使用Integer.toBinaryString(),它的工作原理.没有类似的Short.toBinaryString().还有其他什么吗?
更新: Integer.toBinaryString()不能像Short.toBinaryString()一样工作,如果它存在的话.
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(Short.MIN_VALUE));
}
Run Code Online (Sandbox Code Playgroud)
产生
11111111111111111000000000000000
Run Code Online (Sandbox Code Playgroud)
而我想看到
1000000000000000
Run Code Online (Sandbox Code Playgroud)
当然,切掉前16位数字很容易,但这是我的观点.这种方法应该存在.
这是一个非常令人费解的问题,我在这里绕了好几次都没有找到解决方案。 这个问题变得太复杂了,无法正确接受我的所有更新和格式,所以让我们从这里开始。
基本问题是音频剪辑是从带有某种音频播放器的网页启动的。当页面出现时,浏览器不知道剪辑的持续时间,并且在第一次播放时,无论播放器具有什么 UI,都无法显示播放器在文件中的进度,即使它可以听得见地播放剪辑。一旦播放器完成剪辑,它也会了解持续时间,并且在随后的重播中,UI 会显示进度。
这是当前的状态:
1)最初的问题假设jQuery jPlayer与该问题有关,但随后的测试表明事实并非如此。 删除 jPlayer 并使用 HTML5 音频标签显示了完全相同的问题。
2) 最初我认为问题可能出在 SoX 将 .vox 文件转换为 .wav 时,但在 SoX 邮件列表上查看后,我确信情况并非如此。
3)有人建议(主要由 Gyrocode.com)问题可能在于使用 .wav 文件,但我可以使用 .ogg 和其他格式重现完全相同的问题。
我可以看到Gyrocode 显示的一些示例与我正在做的示例之间的唯一区别是,我的代码最初放入一个虚拟源,然后在向用户显示音频播放器之前动态更改它(在模式内)对话)。
下面是代码的骨架形式。
HTML:
<div class="form-group">
<label class="col-sm-4 control-label">Play Audio</label>
<div class="col-sm-8">
<div style="box-sizing:content-box;" class="container" id="player-container">
<audio controls src="NONE" id="audio-player" preload="metadata"></audio>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
/**
* JavaScript functions for populating data on the transcripts page.
*/
var oParams = new Object();
// temporarily hardcoded
oParams.userId="sc1478"; …Run Code Online (Sandbox Code Playgroud) 我无法将Control-Backspace键映射到KeyStroke.以下对我没有意义.
import java.awt.event.KeyEvent;
import javax.swing.KeyStroke;
public class TestControlBackspace {
public static void main(String[] args) {
KeyStroke ks1 = KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, KeyEvent.VK_CONTROL);
KeyStroke ks2 = KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, KeyEvent.VK_SHIFT);
KeyStroke ks3 = KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE, 0);
System.out.println(ks1);
System.out.println(ks2);
System.out.println(ks3);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
按下BACK_SPACE
按下BACK_SPACE
按下BACK_SPACE
我在这里错过了什么吗?
伙计,我的筹码堆满了!
我已经尝试了四次在Windows XP上的开发人员配置中安装MySQL.它因错误1045而失败.用户'root'@'localhost'的访问被拒绝(使用密码NO).我浏览整个安装应用程序,它实际上启动了服务,然后在"应用安全设置"失败.
没有运行防火墙,我可以访问端口3306.
我得到以下"有用"的提示.
如果您在卸载MySQL服务器后重新安装,请注意数据目录未自动删除.因此,仍需要上次安装的旧密码才能连接到服务器.在这种情况下,请选择立即跳过并从开始菜单重新运行配置窗口.
什么是"数据目录"?我尝试完全卸载.据我所知,这不会从磁盘中删除任何内容,只会删除注册表.还有一个C:\ Program Files\MYSql目录.好的,我删除了整件事并重新安装.我搜索了所有名为mysql的文件和文件夹.删除后没有任何内容.我重新安装,这是一回事.如何清理它以便重新安装?有什么其他数据文件可以摆脱?或者我需要重启,或者什么?
想想,我进入这个的唯一原因是因为我丢失了root密码.
AARGH!
Jopadoc for JPopupMenu构造函数说明如下:
JPopupMenu的
public JPopupMenu(String label)
Run Code Online (Sandbox Code Playgroud)Constructs a JPopupMenu with the specified title. Parameters: label - the string that a UI **may** use to display as a title for the popup menu.
关键词是"可能".显然,在默认UI中,创建弹出菜单时会忽略此类标题.无论L&F是否认为我应该使用,我都非常希望在我的一些弹出菜单中使用这些标题.我无法找到它的钩子.显然,这深埋在UI代码的某个地方.有没有办法覆盖这个默认值?
如果不这样做,我尝试添加一个禁用的菜单项作为菜单的第一项.麻烦的是,我失去了对渲染的控制,它呈现出"灰色"风格,而不是作为重要标题出现.如果我不禁用它,那么它按我想要的方式呈现,但是可以选择,标题不会.
那么底线,我如何强制UI显示我的标题,或者如果失败,如何在菜单顶部添加一个不可选择的菜单项,我有完全渲染控制权?
java ×7
swing ×3
backspace ×1
binary ×1
database ×1
ddl ×1
gradle ×1
hibernate ×1
html5-audio ×1
installation ×1
java-io ×1
javascript ×1
jdk1.7 ×1
key-bindings ×1
keymapping ×1
linux ×1
maven ×1
menuitem ×1
mysql ×1
nio ×1
oracle ×1
popup ×1
progress ×1
short ×1