如何通过CommPortIdentifier查找COM端口

我是整个modbus和串行通信概念的新手,所以即使这是一个真正的菜鸟问题,请耐心等待! 好吧我正在尝试使用modbus协议和RS 232端口读取存储在寄存器中的值。 我写了这段代码,但它找不到串口”COM 4″ 。 我究竟做错了什么? String wantedPortName = “COM 4” ; Enumeration portIdentifiers = CommPortIdentifier.getPortIdentifiers(); CommPortIdentifier portId = null; while (portIdentifiers.hasMoreElements()) { CommPortIdentifier pid = (CommPortIdentifier) portIdentifiers.nextElement(); if (pid.getPortType() == CommPortIdentifier.PORT_SERIAL && pid.getName().equals(wantedPortName)) { portId = pid; break; } } if (portId == null) { System.err.println(“Could not find serial port ” + wantedPortName); […]

如何使用公共密钥从地图的内部地图获取所有值?

我有一张地图地图: HashMap<String, Map> 。 我只需要使用DistinctCode从内部地图中提取String值。 我怎么能在一行或一个声明中这样做? 换句话说,我需要一个像这样的方法: mapOfMap.find(distinctcode) 它是否可以在一行或声明中使用?

Java客户端使用DIME附件调用WSE 2.0

我需要与使用WSE 2.0 for WS-Security和DIME的传统.NET Web服务集成。 我需要从Java应用程序执行此操作。 我期待Axis2能够与WS-Security一起工作,因为这里的人们之前已经完成了。 这是我关注的DIME。 我在http://ws.apache.org/axis/java/client-side-axis.html上看到对DIME的引用,但我想知道是否有人用Axis和WSE 2.0 Web服务实际完成了这项工作。

请求Content-Type为gzip时,Jetty会响应400 Bad Request

在Jetty 9.3.0.v20150612上运行的Spring MVC Java 1.8.0_45-b14后端适用于未压缩的请求,但无法接受压缩的请求。 我在这里遵循了Gzip Handler配置说明,确保它们也支持POST请求。 虽然它没有说这种配置完全适用于请求……但它可能仅用于响应。 etc / jetty-gzip.xml – GET POST /* 在web.xml中 – GzipFilter org.eclipse.jetty.servlets.GzipFilter mimeTypes text/html,text/plain,text/xml,application/xhtml+xml,text/css,application/javascript,image/svg+xml,application/json minGzipSize 500 GzipFilter /* Android客户端会发生这种情况,并且还会使用HTTP客户端应用程序(Paw)进行重现,这是一个请求示例 – POST /report?v=1 HTTP/1.1 Content-Encoding: gzip Content-Type: application/json Host: 10.0.0.1:8080 Connection: close User-Agent: Paw/2.2.2 (Macintosh; OS X/10.10.4) GCDHTTPRequest Content-Length: 5845 xí\MÇuÝûWÔE(É`_¦(<EtD&)%:¦OTè.EôÔU53¬¼ð"ÇYfÆ'®ì/áÿʽ¯ª r(ʲä#èúz÷Ý÷^5èýR;Úå;ÕÎÿöºÊuW«ß«v«ß¿ø³:VÕ)Õ .. BINARY … 回应 – HTTP/1.1 400 […]

窗格形状修改

好吧,总而言之,我试图创建一种聊天/消息系统并需要一些帮助。 我正在尝试在容器上创建一个箭头,如下图所示。 图像从ControlsFX和PopOver窗口中取出。 我不能使用他们的popover小部件,因为它与我正在使用它的行为有点不稳定。 我继续创建了我自己的小聊天窗口弹出窗口,它将自己定位在我定义的父对象上,但我真的希望它有一个指向对象的箭头。 箭头也将始终面朝下,应位于弹出窗口的左下角。 还应该注意的是,弹出窗口不是一个窗口,它是一个用文本行填充的简单VBox。 如果需要的话,我当然可以将它包装在Pane中。 任何人都可以提出创建此箭头的正确方法吗? 我也把我的VBox背景作为渐变,所以箭头不能像通过getChildren()一样在底部,添加“相同颜色”,因为渐变会关闭。 它必须(某种程度上)是容器的一部分。 ================================================== =========================编辑: 好吧所以我今天花了大部分时间学习SVG Pathing,这不是太复杂但是有点单调乏味。 我最终走的路是: “M30 0 h100 a6,6 0 0,1 6,6 v50 a6,6 0 0,1 -6,6 h-88 L38 68 L34 62 h-4 a6,6 0 0,1 -6,-6 v-50 a6,6 0 0,1 6,-6 z” 现在唯一的问题是箭头尾部高度随着窗格的大小而增长。 例如,如果框中有很多文本,窗格会增加高度(当然),箭头也会变长。 这种行为不是一个彻底的交易破坏者,但它并不是我的意图。 我期望在路径中的资本Ls确保箭头的点数无论什么都保持不变,但它不起作用。 有什么想法吗?

等待后台进程以不同类的SwingWorker结束

我正在将文件导入项目,一旦用户单击选择此文件,我会做一些事情,包括通过命令行。 我用这种方法完成了它: p = Runtime.getRuntime().exec(command, null, new File(directory)); p.waitFor(); 由于此过程可能需要一些时间,因此我决定在新框架中显示一个进度条弹出窗口,显示当前进程的所有输出。 我跟随@trashgod的代码改编为我的项目。 出于这个问题的目的,让我说我完全按照原样。 我只是想在命令工作时出现这个窗口,然后关闭它自己。 我可以通过从override done方法处理帧来完成此操作。 我的问题是我正在从其他类创建这个类,而在执行它时,它继续使用代码。 例如: method1(); method2(); new SwingWorkerExample().displayGUI(); //Process continues in background method3(); 这里我的method3()正在SwingWorkerExample类的进程完成之前执行。 我该怎么解决这个问题? 我已经尝试过放在displayGUI方法的末尾了: while(!backgroundTask.isDone()){ //do nothing } 但它使整个框架不起作用或者可能冻结它。 我还尝试在backgrandtask类中创建pa全局变量后编写一个方法: public Process getProcess(){ return p; } 然后从displaGUI()调用以下内容: backgroundTask.getProcess().waitFor(); 但它返回一个空指针exception。 在显示命令窗口的输出时,我还能做什么来等待进程结束? 谢谢。 更新:这是链接代码的副本,其中包含一些更改以显示我的意思。 我不希望在进程完成之前打印第二个文本: package mcve; import java.awt.BorderLayout; import java.awt.EventQueue; import […]

GWT使RPC阻塞

是否有可能使gwt rpc阻塞? 即应用程序阻塞,直到从服务器收到响应

HTTP状态500 – java.lang.NoClassDefFoundError:无法初始化类org.apache.jasper.el.E​​LContextImpl

当我尝试在myeclipse上浏览“localhost:8080”时,出现以下错误: type Exception report message java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl org.apache.jasper.servlet.JspServlet.service(JspServlet.java:343) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) root cause java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1568) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:747) org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434) org.apache.jasper.compiler.Node$Root.accept(Node.java:475) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1795) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) […]

组织小型实用程序function

经过多年的编程,我们都有一组小函数用作帮助程序实用程序,我们希望它内置,所以我们可以在任何项目中使用它,并由更多人(测试和优化)照顾。 我有很多这些function的集合。 我想知道你们是如何组织他们的? 你有什么建议吗? 我就是这样做的。 我把它放在一个单独的项目(一个eclipse项目)中,让我们说“MyUtils”,并将其引用到其他项目中。 这是有效的,但因为utils集合越来越大,有点奇怪的是,utils比项目代码更大(对于小项目)。 要在Jar中运送它,你必须手动选择它们(或包括它们)。 有没有更好的办法? 此外,由于Java要求所有函数都在类中,因此我有大量的静态函数(那些不适合OOP的函数),例如函数从文件名中读取文本文件。 喜欢这个: package nawaman.myutil; public class UText { static public String ReadTextFile(String pFileName) { … } static public String[] ReadLines_fromFile(String pFileName) { … } static public String ReadLine_fromFile(String pFileName, int pLineNumber) { … } … } 因此,当我需要包括所有function时,虽然它没有被使用。 有一个更好的方法吗? 无论如何,如果有特殊的技术,我会在Linux上使用eclipse,但如果你有其他工具的技术,我可以免费分享。

Struts2 URL中“.action”扩展重要性的解释

这可能是一个无用或蹩脚的问题,但请解释我这个。 在struts2中,当我们将一个动作分配给一个表单按钮并单击该按钮时,将调用该动作。 现在,当显示操作文件的结果时,浏览器中的URL显示 localhost:8080/HelloWorld/ClassName.action 有时默认情况下.action部分不显示。 但两者的作用相同。 我需要向某人解释这个.action 。 为什么扩展名显示在URL中,是否有一些特定的东西可以启用和禁用Struts2 URL中的.action ?