Tag: java

运行在jar里面打包的exe文件

我通过我的Java程序执行一个exe文件。 java中的path是硬编码的。 我已经把我的exe文件打包成jar了。 但我坚持,因为我有硬编码在java文件中的path名。 所以我不能把我的jar作为一个独立的程序来执行。 任何提示打包这样的jar,即有一个EXE里面,并能够运行它作为一个独立的程序? 谢谢你,Krisp

Java 8中默认或Defender方法的用途

Java 8包含了一个名为Defender方法的新function,它允许在界面中创build默认的方法实现。 现在首先这是Java中所有精简程序员的巨大转变。 我查看了Brain Goetz给出的一个JavaOne 13演示文稿,他正在讨论Collections库中新的stream()和parallelStream()实现。 为了在Collection接口中添加新的方法,他们不能在不破坏以前的版本的情况下添加新的方法。 所以他告诉说,为了配合这个,添加了Default方法的一个新特性。 public interface SimpleInterface { public void doSomeWork(); //A default method in the interface created using "default" keyword default public void doSomeOtherWork(){ System.out.println("DoSomeOtherWork implementation in the interface"); } } 现在我的问题基本上是默认的方法只需要添加新的方法接口而不破坏客户端代码有帮助吗? 或者还有其他一些用途吗?

从System.in读入 – Java

我不确定你应该如何从Java文件的系统input中读入。 我想能够调用java myProg < file 文件是我想要作为一个string读取,并在主要方法中给予myProg。 有什么build议么?

SwingUtilities.invokeLater()为什么需要它?

为什么有必要在SwingUtilities.invokeLater()放置GUI更新代码? 为什么不能由Swing自己照顾呢? 为什么调用者不得不关心swing如何处理UI更新?

WebDriver – 等待使用Java的元素

我正在寻找类似于waitForElementPresent东西来检查元素是否显示之前,我点击它。 我认为这可以通过implicitWait完成,所以我使用了以下内容: driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 然后点击 driver.findElement(By.id(prop.getProperty(vName))).click(); 不幸的是,有时它等待的元素,有时不。 我看了一会,发现这个解决scheme: for (int second = 0;; second++) { Thread.sleep(sleepTime); if (second >= 10) fail("timeout : " + vName); try { if (driver.findElement(By.id(prop.getProperty(vName))) .isDisplayed()) break; } catch (Exception e) { writeToExcel("data.xls", e.toString(), parameters.currentTestRow, 46); } } driver.findElement(By.id(prop.getProperty(vName))).click(); 它等待好了,但在超时之前,必须等待10秒钟5,50秒。 有点多。 所以我把隐含的等待时间设置为1秒,直到现在一切似乎都很好。 因为现在有些事情在超时之前等待10秒钟,但其他的事情在1秒之后超时。 你如何覆盖代码中存在/可见的等待元素? 任何提示是可观的。

如何在Java中使用“。”作为String.split()的分隔符

我想要做的是读取一个.java文件,并挑出所有的标识符,并将它们存储在一个列表中。 我的问题是与.split()方法。 如果按照这种方式运行此代码,则将获得ArrayOutOfBounds,但是如果将分隔符从“。”更改。 到其他任何东西,代码的作品。 但是我需要用“。”parsing的行。 那么还有另外一种方法可以做到这一点? import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.*; public class MyHash { private static String[] reserved = new String[100]; private static List list = new LinkedList(); private static List list2 = new LinkedList(); public static void main (String args[]){ Hashtable hashtable = new Hashtable(997); makeReserved(); readFile(); String […]

java:“final”System.out,System.in和System.err?

System.out被声明为public static final PrintStream out 。 但是你可以调用System.setOut()来重新分配它。 咦? 如果这是final这怎么可能? (同样的观点适用于System.in和System.err ) 更重要的是,如果你可以改变公共静态final域,这就意味着final给你的保证(如果有的话)是什么意思? (我从来没有意识到也没有料到System.in/out/errperformance为finalvariables)

从JAR中提取并加载DLL

我的Java应用程序使用DL​​L库。 我怎样才能从JAR文件工作? 该DLL位于项目的源文件夹中。 我必须将其包含在我的JAR中,在运行时(在jar的同一个目录中)提取它并加载它。

绕过Hibernate中的GeneratedValue(合并数据不在数据库?)

我的问题与[1]或[2]中描述的相同。 我需要手动设置一个默认的自动生成的值( 为什么?导入旧数据 )。 正如在[1]中所描述的,使用Hibernate的entity = em.merge(entity)将会做到这一点。 对我来说不幸的是, 我既没有错误,也没有任何其他的警告。 该实体不会出现在数据库中 。 我正在使用Spring和Hibernate EntityManager 3.5.3-Final。 有任何想法吗?

使用web.xml的Servlet映射

我对servlet映射的web.xml的结构有困惑,我没有执行任何问题,但我想知道为什么我们在部署描述符中有这样的模式。 <web-app> <servlet> <servlet-name>Servlet1</servlet-name> <servlet-path>foo.Servlet</servlet-path> </servlet> <servlet-mapping> <servlet-name>Servlet1</servlet-name> <url-pattern>/enroll</url-pattern> </servlet-mapping> </web-app> 现在就我的理解而言,每当有一个请求时,url-pattern“/ enroll”,servlet容器就会把servlet-name和url-pattern相匹配,并且会尝试find相应的servlet-path,并将控制到foo.Servlet。 所以基本上会有两个传递一个查找servlet名称和另一个servletpath,我的问题是,如果容器devise工作在以下方式 <web-app> <servlet> <servlet-name>foo.Servlet</servlet-path> <url-pattern>/enroll</url-pattern> </servlet> </web-app> 如果我们使用下面的方法会有什么缺点? 这不是更有效率,响应时间会很快。