在Java中声明类文件中的接口

在Objective-C中,我们可以在同一个头文件中定义协议和实现。 例如: @class GamePickerViewController; @protocol GamePickerViewControllerDelegate – (void)gamePickerViewController: (GamePickerViewController *)controller didSelectGame:(NSString *)game; @end @interface GamePickerViewController : UITableViewController @property (nonatomic, weak) id delegate; @property (nonatomic, strong) NSString *game; @end 这样,如果我包含.h文件,我将可以访问文件中定义的协议。 我正在寻找Java中的类似结构,因为我觉得它在某些情况下很有用,我想避免创建太多文件(接口文件+类文件)。 这样我可以声明: public class MyImplementation implements AnotherClass.MyInterface{ AnotherClass otherClass; } 我认为接口内的嵌套类是要走的路。 我是对的? 或者Java中没有类似的东西?

如何从另一个jar运行jar文件

我有一个jar文件已经使用L4J转换为.exe,另一个jar文件在appdata中。 拥有两个文件的原因是我需要一个更新机制。 我的问题:如何在桌面上运行.exe文件,然后在appdata中加载jar?

Java exec – 交互过程的输出一直持续到进程终止

我在Java中使用交互式进程时遇到问题。 我有线程来读取STDOUT和STDERR以及一个处理进程输入的线程。 但是,在流程终止之前,STDOUT流中没有可用的数据。 然后立即打印整个输出。 DBG | Pipe action-STDERR started DBG | Pipe action-STDIN started DBG | Pipe action-STDOUT started STDIN | Try to put some input. STDIN | I cannot see any output. STDIN | Nevertheless the interaction works. STDIN | It works on background. STDIN | Let’s terminate the process to see the truth. […]

Maven没有认识到在bash_profile中设置了JAVA_HOME

持续将近2天,试图让maven正确安装。 这些是我的输出。 为什么在世界上maven默认为某些jdk我甚至没有? 我已经尝试了从goole搜索提出的一百万种不同的解决方案,没有! 帮帮我。 我没有对任何配置文件(如mvn.sh进行任何更改。 System: Mac OS=Yosemite 10.10 Java=Oracle 1.8 JDK .bash_profile的内容: export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home export M2_HOME=/usr/local/Cellar/maven/3.2.3 export M2=$M2_HOME/bin export PATH=$PATH:$M2_HOME/bin 终端命令: java -version -> java version “1.8.0_25” Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) mvn -version -> Error: JAVA_HOME is not defined correctly. We cannot […]

如何将.war部署到heroku

我在eclipse上创建了一个动态的web项目,它从index.html开始。 我测试了它,它可以在我的本地Apache服务器上运行。 我已经生成了war文件。 现在我想将war文件部署到heroku。 我已下载并安装了所有内容。 我检查了互联网,我开始了解创建 pom.xml,一个开始执行的Main类,maven汇编程序jar文件。 作为初学者,我无法理解如何创建这些文件并将它们推送到heroku。 有人可以解释一下吗? 我不想创建一个新的heroku项目。

mvn + jetty出错:无法执行目标org.eclipse.jetty:jetty-maven-plugin:

当我尝试运行mvn jetty时,我遇到了一个奇怪的错误:在我的项目上运行。 当我在另一个系统上运行我的代码时,一切正常,但在我的Mac上,我得到了这个奇怪的错误。 它以前工作过,但突然间它不起作用。 这是错误消息: [ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.1.0.M0:run (default-cli) on project assignment2-gui: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.1.0.M0:run failed: Unable to load the mojo ‘run’ in the plugin ‘org.eclipse.jetty:jetty-maven-plugin:9.1.0.M0’ due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/eclipse/jetty/maven/plugin/JettyRunMojo : Unsupported major.minor version 51.0 [ERROR] —————————————————– [ERROR] realm = plugin>org.eclipse.jetty:jetty-maven-plugin:9.1.0.M0 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] […]

当Service在后台工作时,AsyncTask中的doInBackground从不调用

private class Test extends AsyncTask { @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); Log.d(“test”, “called1”); } @Override protected Void doInBackground(Void… params) { Log.d(“test”, “called2”); return null; } @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub super.onPostExecute(result); Log.d(“test”, “called3”); } } 并输出: 测试:called1 为什么其他方法永远不会在Service在后台工作时调用? 如果服务停止,那么所有方法调用和输出: 测试:called1 测试:called2 测试:called3

这是否会导致堆栈溢出错误?

递增对象的实例变量会导致堆栈溢出错误吗? 例如: 此方法(java)将导致堆栈溢出错误: class StackOverflow { public static void StackOverflow (int x) { System.out.println (x) ; StackOverflow(x+1) ; } public static void main (String[]arg) { StackOverflow (0) ; } 但这会是吗?:( …..是我为缩短代码而设置的差距。它的长度足够长。) import java.util.*; class Dice { String name ; int x ; int[] sum ; …. public Dice (String name) { this.name = name ; […]

如果我想使用Maven,是否需要安装ADT插件?

如果我想使用maven构建所有项目,是否有必要将ADT插件下载并安装到Eclipse中?

使用rvm jruby install将JRuby嵌入Java代码中

我正在尝试从Java应用程序中嵌入和评估ruby代码。 我没有将jruby-complete.jar放在我的类路径中,而是需要能够使用与rvm一起安装的jruby环境。 我可以执行基本的内核代码,但是我遇到了需要标准库(fileutils,tmpdir等)的问题。 我在下面创建了一个使用通过RVM安装的JRuby的测试文件,如果你有一个本地的rvm + jruby安装(将JRUBY_VERSION更改为安装的版本),任何人都应该能够编译+运行它。 我意识到我引用的jruby.jar与jruby-complete.jar不同,但我希望有一种方法可以在不下载外部jar的情况下加载标准库。 import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.logging.Logger; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Test { private final static Logger LOG = Logger.getAnonymousLogger(); private final static String JRUBY_VERSION = “jruby-1.6.7”; public static void main(String[] args) throws Throwable { final String rvmPath = System.getenv(“HOME”) + “/.rvm/rubies/”; addFileToClasspath(rvmPath […]