JCreator创建的类不能在另一程序中使用。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JCreator创建的类不能在另一程序中使用。相关的知识,希望对你有一定的参考价值。
是这样的,我之前创建了一个Clock类(就是在JCretor里选择java class然后编写的),然后创建一个TextClock程序来测试一下,是这样导入的:package Clock; import Clock.*; 但是出现了一个错误:D:\JCeator\JCreatorV4\MyProjects\TestClock.java:2: 需要为 class、interface 或 enum
我创建的Clock类是.java ,.jcu 和.jcw文件
,但不是上面所说的 class等,请问如何解决呢?
我的程序应该没写错,会不会是调用方法错了?
奇怪啊,我的怎么没有Clock文件夹呢?我的Clock.java Clock.jcu,Clock.jcw和TestClock.java都在Myproject文件下,没有单独的Clock文件哦!
另外,你最好找一本JAVA入门的书看看。了解一下JAVA的结构组织问题,搞懂包和类的概念。
如何使用 Qt 在另一台设备中启动和停止外部程序?
【中文标题】如何使用 Qt 在另一台设备中启动和停止外部程序?【英文标题】:How to start and stop an external program in another device using Qt? 【发布时间】:2015-04-08 13:30:32 【问题描述】:我正在开发一个固件更新程序,它应该从 Web 服务器下载数据并将其上传到嵌入式 Linux 设备。
我希望一个程序(客户端)在它们之间建立连接并开始发送数据之前启动另一个程序(服务器)。在同一环境中执行此操作很容易:只需调用 QProcess
和 startDetached()
,但我想远程执行此操作:我想在 Desktop 机器中启动客户端,并通过 ETH/TCP 连接设备已知 IP 地址,单击将要求设备启动服务器的按钮。当服务器完成启动并开始等待连接时,桌面应用程序将打开套接字连接并开始发送数据。发送完所有数据后,再发送一条命令请求关闭服务器,关闭连接并完成文件传输操作。
我的问题是:当应用程序位于不同的机器(在嵌入式 Linux 设备中,而调用者在 PC 中)时,我如何执行请求启动或停止的操作强>?请注意,解决方案必须不依赖于一些额外的软件(例如 Tcp 服务器)在设备上持续运行——这正是我要避免的。
【问题讨论】:
【参考方案1】:这与 Qt 没有任何关系,因为它没有为此提供任何东西。 从这一点开始至少有两条路径:
使用应用程序中的 SSH 启动远程计算机中的任何进程:ssh user@remote-machine "any command here"
。这可以使用 QProcess 调用;
或
编写另一个软件来监听套接字命令并启动/停止您想要的任何进程,然后让它一直在远程机器上运行。然后,只需更改您的客户端软件即可发送相关命令
当心允许机器执行来自外部源的任意命令可能引起的任何安全问题。
【讨论】:
好吧,你的第二点对我来说没有多大意义:我想要做的就是避免在设备上运行一个额外的应用程序(如果是 FTP 服务器):我想打开它仅在我需要使用它的时候使用。因此,如果您的解决方案取决于第二点(如果确实如此,我不清楚),它对我不起作用:) 顺便说一句,对ssh
的调用究竟如何?我在 google 上发现了一些关于如何将 ssh 与 QProcess 一起使用的线程(forum.qt.io/topic/3788/qprocess-ssh-write-password/5 / ***.com/questions/20743793/… / qtforum.org/article/35299/qprocess-and-ssh.html ),但我并不清楚。
您可以使用一种解决方案或另一种解决方案(不能同时使用两者)。将 ssh 用于命令的最佳方式是将运行本地应用程序的用户的公钥添加到远程机器的 ~/.ssh/authorized_keys 中。这样就不会询问密码了
您可能必须使用 ssh 的完整路径,例如 /usr/bin/ssh。在您的机器中使用whereis ssh
为您找到准确的路径
cd /media/mmcblk0p2/bin ./FTPTester& 不是有效命令。我猜你忘了分开然后使用 ;或 &&。试试:/usr/bin/ssh root@10.1.25.11 "cd /media/mmcblk0p2/bin && ./FTPTester&"。为简单起见,我想先尝试不带 & 以上是关于JCreator创建的类不能在另一程序中使用。的主要内容,如果未能解决你的问题,请参考以下文章