小编Lui*_*iro的帖子

基于Linux OpenJDK Debian的发行版的JAVA_HOME环境变量的正确目标是什么?

在Windows中,JAVA_HOME必须指向JDK安装文件夹(因此JAVA_HOME/bin包含所有可执行文件并JAVA_HOME/libs包含所有默认jar库).

如果我下载Sun的JDK软件包并在Linux中安装它,则程序相同.

但是,我需要使用Kubuntu的默认OpenJDK包.问题是所有可执行文件都放在/usr/bin.但是放入罐子里/usr/share/java.由于它们不在同一个JAVA_HOME文件夹下,我遇到了Grails的问题,并且可能会遇到其他需要标准Java结构的应用程序.

  1. 如果我使用:

    JAVA_HOME=/usr
    
    Run Code Online (Sandbox Code Playgroud)

    所有想要使用任何Java可执行文件的应用程序和脚本都可以使用标准过程call $JAVA_HOME/bin/executable.然而,由于罐子在不同的地方,它们并不总是被发现(例如:我正在ClassDefNotFound寻找的grails native2ascii).

  2. 另一方面,如果我使用:

    JAVA_HOME=/usr/share/java
    
    Run Code Online (Sandbox Code Playgroud)

    在Java可执行文件(没有java,javac等等)都可以找到.

那么,JAVA_HOME在基于Debian的Linux 中处理变量的正确方法是什么?

谢谢你的帮助,路易斯

java grails java-home debian-based

84
推荐指数
3
解决办法
13万
查看次数

如何知道用户何时真正发布了Java中的密钥?

(为清晰起见编辑)

我想检测用户何时按下并释放Java Swing中的键,忽略键盘自动重复功能.我还想在Linux,Mac OS和Windows上使用纯Java方法.

要求:

  1. 当用户按下某个键时,我想知道它是什么键;
  2. 当用户释放一些密钥时,我想知道它是什么密钥;
  3. 我想忽略系统自动重复选项:我希望每次按键只接收一个按键事件,每个按键释放只需一个按键释放事件;
  4. 如果可能的话,我会使用第1至第3项来知道用户是否一次持有多个键(即,她点击'a'并且没有释放它,她点击"Enter").

我在Java中面临的问题是,在Linux下,当用户持有一些密钥时,有许多keyPress和keyRelease事件被触发(因为键盘重复功能).

我尝试了一些没有成功的方法:

  1. 获取关键事件的最后一次发生 - 在Linux中,对于密钥重复它们似乎为零,但是,在Mac OS中它们不是;
  2. 仅当当前keyCode与最后一个keyCode不同时才考虑事件 - 这样用户不能连续两次击中相同的键;

这是代码的基本(非工作)部分:

import java.awt.event.KeyListener;

public class Example implements KeyListener {

public void keyTyped(KeyEvent e) {
}

public void keyPressed(KeyEvent e) {
    System.out.println("KeyPressed: "+e.getKeyCode()+", ts="+e.getWhen());
}

public void keyReleased(KeyEvent e) {
    System.out.println("KeyReleased: "+e.getKeyCode()+", ts="+e.getWhen());
}

}
Run Code Online (Sandbox Code Playgroud)

当用户持有密钥(即"p")时,系统显示:

KeyPressed:  80, ts=1253637271673
KeyReleased: 80, ts=1253637271923
KeyPressed:  80, ts=1253637271923
KeyReleased: 80, ts=1253637271956
KeyPressed:  80, ts=1253637271956
KeyReleased: 80, ts=1253637271990
KeyPressed:  80, ts=1253637271990
KeyReleased: 80, ts=1253637272023
KeyPressed: …
Run Code Online (Sandbox Code Playgroud)

java swing keypress autorepeat keyrelease

18
推荐指数
2
解决办法
2万
查看次数

与Julia进行网页搜索?

我们很难找到一个好的(实际上,任何)网络抓取库或Julia语言模块.

我们需要的是拥有某种设施,以便更容易解析或查找html元素和字符串.甚至可能需要某种爬行.

更新:

我正在寻找像BeautifulSouppyquery(两者都是Python)的东西.

web-scraping julia

12
推荐指数
1
解决办法
2355
查看次数

如何在Netbeans for Java项目中导入Eclipse语法高亮配置文件?

我必须使用两个IDE,我想在Netbeans中使用Eclipse风格的语法高亮.有没有人知道如何导入它(或更改任何配置文件)?我已经将Netbeans设置为使用Eclipse键绑定.

有没有比手动更改Java编辑器的每个关键字的颜色更好的方法?

谢谢,

路易斯

eclipse netbeans syntax-highlighting

9
推荐指数
2
解决办法
4397
查看次数

如何在 KDE 上强制/开始使用 Java 中的 GTKLookAndFeel?

首先,使用 gnome 不是一个选项(但可以安装它的库)。

我需要知道使用当前安装的 KDE 外观和 KDE 感觉来显示 Java Swing 桌面应用程序需要什么。理想情况下,该解决方案应该允许我应用看起来像底层窗口系统的外观和感觉(即:用于 Windows 的 Windows LNF、用于 Gnome (GTK) 的 GTK LNF、用于 KDE (QT) 的 QT LNF、其他平台的默认系统)。

在 KDE 下,您也可以将其配置为对 GTK 应用程序使用当前的 KDE 主题。因此,如果该解决方案适用于 GTK,那就没问题了。

当我在 Gnome (Ubuntu 8.04) 下运行以下代码时,Java 应用程序看起来很漂亮。它与其他应用程序集成得很好:

try {
  // Set System L&F
  UIManager.setLookAndFeel(
  UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) { //Handle it }
Run Code Online (Sandbox Code Playgroud)

然而,如果我在 Debian (Lenny) 下使用 KDE 运行同样的事情,UIManager.getSystemLookAndFeelClassName() 调用将返回 Java 默认值。如果我继续强制它使用 GTK LNF,则该应用程序将无法运行。有些字段是看不见的,有些字段则不合适,一切都无法使用:

try {
  //Force the GTK LNF on top of KDE, but **it doesn't work**
  UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); …
Run Code Online (Sandbox Code Playgroud)

java gtk swing look-and-feel kde-plasma

5
推荐指数
1
解决办法
1万
查看次数

什么GUI工具包最适合Windows和Linux中的本地LAF for Python?

我需要决定一个GUI/Widget工具包,用于Python的新项目.目标平台将是带有KDE和Windows XP(可能还有Vista)的Linux.什么Python GUI工具包看起来最好并且与运行时平台的本机外观一致?

如果可能,请引用建议的工具包的优缺点.

谢谢,

路易斯

python linux windows native gui-toolkit

4
推荐指数
1
解决办法
1787
查看次数

Linux中的音高识别

是否有任何自由软件工具或组合可以让我识别录制的歌唱会话的音高?

这个想法是用时间线中的当前音高显示某种图形,以及标准音符(C3,C#3,D等)的标记.我不需要音调校正,也不需要它实时完成.

我知道,一旦Rosegarden有一个插件可以做到这一点,但它已经失踪了.

linux audio pitch-tracking

3
推荐指数
1
解决办法
3362
查看次数

当EJB客户端失去与Application Server的连接时,是否存在可以捕获的异常?

我想为EJB客户端应用程序丢失与应用程序服务器的连接时发生的特定情况创建异常处理程序.我们创建的代码能够以用户友好的方式处理客户端应用程序,以尝试在故障转移环境中重新连接到同一服务器或另一台服务器.通过"失去连接",我的意思是需要重新连接.原因可能是网络问题,服务器锁定,服务中断等.

以下是我们正在寻找的内容(客户端代码):

private void doSomething() throws RecoverableException {
//(...)
BusinessRemoteEJB ejb=ctx.lookup("BusinessRemoteEJB");

try {
    List<product> list=ejb.getProducts();
    //(...)
} catch (EJBException e){
 Exception e = e.getCausedByException();

 //Here is what I'm looking for: some excpetion that indicates a connection problem
 if(e !=null && e instanceof EJBConnectionException){

     //This will be catched in a proper place to try to reconnect
     throw new RecoverableException(e);
 } else {
 //If it is any other excpetion, just let it work up the stack
 throw e;

}
Run Code Online (Sandbox Code Playgroud)

当然EJBConnectionException不存在.有什么类似的吗? …

java openejb ejb-3.1

3
推荐指数
1
解决办法
812
查看次数

是否有任何类似Wicket的Web框架可以与Scala一起使用(除了电梯)?

我想使用Scala语言启动一个项目.在搜索Web框架时,我发现了Lift.但是,它并不是我想要的:一个完全分离HTML和代码的Web框架.Lift确实有一些不错的功能(和学习曲线),但我们需要完全分离HTML和代码.我希望能为Scala语言找到类似Wicket,Tapestry或Barracuda的东西.

尽管能够重用html模板很好,但让HTML模板作为"静态应用程序"模型工作更为重要.在Tapestry中,我们可以将链接放在静态模板中,并使用它来获得静态导航和应用程序的原型.

那么,你知道其他任何易于使用Scala语言的Web框架吗?

谢谢,路易斯

scala tapestry web-frameworks

1
推荐指数
1
解决办法
2585
查看次数