草庐IT

main-method

全部标签

java - 为什么要将 main() 放在专用类中?

我没有任何Java经验,但有C背景。我想创建一个新的数据类型,比如抽象数据类型。在C中,这将通过为新数据类型创建一个结构来完成;我知道在Java中,您为该新数据类型创建一个类,然后着手为该类创建对象。我已经用两种不同的方式编写了这个,它们似乎都有效。但是我不明白第二种方式的缺点。在这里,我为数据类型创建一个类,创建它的一个实例,然后执行操作。我发现这是互联网教程中使用的设计。publicclassDesignOne{publicstaticvoidmain(String[]args){MyDataTypeobj=newMyDataType(3,4);System.out.println

java - 无法找到或加载主类 com.sun.tools.javac.Main hadoop mapreduce

我正在尝试学习MapReduce,但我现在有点迷茫。http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Usage特别是这组指令:CompileWordCount.javaandcreateajar:$bin/hadoopcom.sun.tools.javac.MainWordCount.java当我在终端中输入hadoop时,我能够看到提供参数的“帮助”,所以我相信我已经安装了hadoop。当我输入命令时:编译W

java - 没有定义main方法,Java程序如何运行?

我正在查看一些Java源代码并注意到未定义main方法。Java如何在无从下手的情况下编译源码? 最佳答案 main方法仅在Java虚拟机执行您的代码时使用。没有main方法就无法执行代码,但它仍然可以被编译。编译代码时,通常会在命令行中指定一组文件,例如javacMyClass1.javaMyClass2.javaJava编译器(javac)检查您传递给它的每个类并将其编译成一个.class文件。Java源代码可能缺少main方法的一个原因是它被设计为用作库,而不是被执行。你可能会发现一些有趣的事情:虽然Java编译器编译的源代码

java - 是否可以在没有 java 中的 main 和 static block 的情况下在控制台上打印消息?

在一次采访中我问过这个问题:如果不使用static和main我们怎么能在控制台上打印消息?这可能吗? 最佳答案 您可以定义一个自定义类加载器来打印您的消息:publicclassMyClassLoaderextendsClassLoader{publicMyClassLoader(ClassLoaderother){super(other);System.out.println("Hithere");System.exit(0);}}然后运行java命令:java-Djava.system.class.loader=MyClassL

java - 为什么Eclipse不在 "Generate Delegate Methods"重构中添加@Override注解?

在Eclipse中,如果我尝试将“生成委托(delegate)方法”重构应用于Java类,如下所示:classFooimplementsBar{Barbar;}Eclipse不会为生成的方法生成@Override注释。这是错误还是有充分的理由? 最佳答案 这没有回答您为什么在生成委托(delegate)方法时不添加@Override注释的问题,但是您可以添加一个保存操作来在保存文件时为您执行此操作.前往Window->Preferences->Java->Editor->SaveActions请注意Additionalactions

java - XUGGLE 错误 : Exception in thread "main" java. lang.NoClassDefFoundError: org/slf4j/LoggerFactory

我正在尝试执行以下代码:importcom.xuggle.mediatool.IMediaReader;importcom.xuggle.mediatool.IMediaWriter;importcom.xuggle.mediatool.ToolFactory;publicclassvidcon{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubIMediaReaderreader=ToolFactory.makeReader("test.m4v");IMediaWriter

java - 如果运行模式为并行 ="methods",如何强制 TestNG 为每个方法创建新的测试类实例

如果运行模式是parallel="methods",如何强制TestNG为每个方法创建新的测试类实例?JUnit会自动执行此操作,但TestNG在方法之间重用相同的实例。是否有任何选项可以更改此行为?我正在运行selenium测试并在@BeforeMethod方法中创建webdriver并将其存储到类变量中以在测试方法中使用它并关闭@AfterMethod。而且我希望能够在不共享webdriver的情况下并行运行一个测试类的方法。 最佳答案 没有办法强制testng这样做。一种解决方案是将webdriver实例设置为线程局部变量。这

Java 反射 : Find method usage in custom AbstractProcessor

我是反射(reflection)中的新手。有什么方法可以检测特定方法在哪里被调用?例如:publicclassMyClass{publicstaticvoidmethod(){//DOSOMETHING}}publicclassTest{publictest(){MyClass.method();}}publicclassMyProcessorextendsAbstractProcessor{publicbooleanprocess(Setannotations,RoundEnvironmentroundEnv){Methodmethod=MyClass.class.getDeclar

java - 线程 "main"java.lang.ClassNotFoundException : 中的异常

我最近安装了intellijIDEA14.0,为了确保一切正常,我创建了一个简单的HelloWorld程序。我不明白为什么输出不正确以及为什么会出现此错误。如果有人可以提供帮助,那就太好了。这是程序:publicclassHello{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}这是错误:Exceptioninthread"main"java.lang.ClassNotFoundException:Helloatjava.net.URLClassLoader$1.run(URLClassLo

java - 如何在 maven-jar-plugin 中指定 --main-class 和 --module-version?

如果我从命令行在Java9上构建JAR,我会传递一个参数--main-class以将MainClass属性包含到module-info.class中:jar--create--file--main-class=--module-version0.1-Cclasses.但是如果我从maven构建一个JAR呢?这是我的maven-jar-plugin配置:org.apache.maven.pluginsmaven-jar-plugin3.0.2我可以将自定义参数传递给maven-jar-plugin(比如maven-compiler-plugin的compilerArgs)吗?