编译并运行java文件 - 运行main方法

时间:2015-12-23 10:10:39

标签: java

我是java的新手,我需要运行一些已编译的代码

来源

public class OiosiRaspClient {

    private static Log log = LogFactory.getLog(OiosiRaspClient.class);
    public static final String PATH_INVOICE_OIOUBL = "./Resources/xml/OIOUBL_Invoice_v2p1_5798009811578.xml";

    public static final String RaspConfigurationLive = "./Resources/RaspConfiguration.Live.xml";
    public static final String RaspConfigurationTest = "./Resources/RaspConfiguration.Test.xml";

    public UddiType uddiType;
    public String xmlDocumentUrl;

    public enum UddiType {
        Production(RaspConfigurationLive),
        NewProduction(RaspConfigurationLive),
        Test(RaspConfigurationTest),
        LocalJava_v1_2_3(RaspConfigurationTest),
        LocalJava_v1_2_4(RaspConfigurationTest),
        LocalNet_v1_2_3(RaspConfigurationTest),
        LocalNet_v1_2_4(RaspConfigurationTest),

        FOCES2Test("cfg/RaspConfiguration.Oces2.xml"),
        FOCES2_99018008("cfg/RaspConfiguration.99018008.xml"),
        FOCES2_99018080("cfg/RaspConfiguration.99018080.xml");

        private final String raspConfigurationFile;

        UddiType(String configFile) {
            raspConfigurationFile = configFile;
        }
    }

    public OiosiRaspClient() {
        uddiType = UddiType.Production;
        xmlDocumentUrl = PATH_INVOICE_OIOUBL;
    }

    public OiosiRaspClient(UddiType uddiType, String xmlDocumentUrl) {
        this.uddiType = uddiType;
        this.xmlDocumentUrl = xmlDocumentUrl;
    }

    public static void main(final String[] args) {
        new OiosiRaspClient().sendDocument_Test();
    }

    public boolean sendDocument_Test() {
        // some code
    }

}

所有代码都使用ant compilebuild.xml文件

进行编译

现在,类OiosiRaspClient被编译为以下文件

OiosiRaspClient$1.class
OiosiRaspClient$UddiType.class
OiosiRaspClient.class

如何在main中运行OiosiRaspClient方法?

我还需要在每次运行之前更改公共变量PATH_INVOICE_OIOUBL

命令行

# java OiosiRaspClient
Error: Could not find or load main class OiosiRaspClient

3 个答案:

答案 0 :(得分:0)

编译并运行OiosiRaspClient使用

javac OiosiRaspClient.java
java OiosiRaspClient

Nicholas Kadaeux如此贴心here

我们说你的文件在C:\ mywork \

运行命令提示符

  

C:> cd \ mywork

这使得C:\ mywork成为当前目录。

  

C:\ MYWORK> DIR

显示目录内容。你应该在文件中看到filenamehere.java。

  

C:\ MYWORK> set path =%path%; C:\ Program Files \ Java \ jdk1.5.0_09 \ bin

这告诉系统在哪里可以找到JDK程序。

  

C:\ MYWORK> javac filenamehere.java

这会运行编译器javac.exe。你应该只看到下一个系统提示......

  

C:\ MYWORK> DIR

javac创建了filenamehere.class文件。您应该在文件中看到filenamehere.java和filenamehere.class。

  

C:\ MYWORK> java filenamehere

这将运行Java解释器。然后,您应该看到您的程序输出。

如果系统找不到javac,请检查set path命令。如果javac运行但是您遇到错误,请检查您的Java文本。如果程序编译但您得到异常,请检查文件名和类名以及java HelloWorld命令中的拼写和大小写。 Java区分大小写!

答案 1 :(得分:0)

我希望我理解你的问题,但我认为你需要的是命令行args。当您使用"java RaspiClient C:\Users\..."运行类的main方法时,您可以访问main方法中传递的参数,如String arg = args[0]

答案 2 :(得分:0)

假设您有两个类文件,

SampleClass1.java和SampleClass2.java(两者都在某些目录/ usr / XYZ / JavaCode / src中)

您需要通过命令行导航到此目录。当你到达目录时使用以下命令进行编译。

javac -d ../bin SampleClass1.java

(bin是我们存储已编译的.class文件的src级别的目录,我们需要在/ usr / XYZ / JavaCode / bin创建它)

假设SampleClass1.java包含main方法,要运行它,请使用以下命令。

java -cp ../bin SampleClass1

编辑: 为了通过辩论,

java -cp ../bin SampleClass1 "Hello World" Java

在上面的示例中,Hello World将是一个参数,即当您想要传递一个句子时,使用双引号传递它,第二个参数是Java,可以传递单个词而不使用双引号。

使用arg [0],arg 1 ...(或者在main方法参数中指定的名称不一定是arg)在代码中访问它们。

请注意,班级名称为"完全合格的班级名称"即如果您了解java中的包,您就会理解完全合格的名称,很简单就像PACKAGE_NAME.CLASSNAME。

现在要优先考虑的是定义JAVA_HOME环境变量(我猜你已经做过了,否则它就不会编译。)

关于Class的另一件事是,您可以根据需要在单个文件中定义任意数量的类,但只有一个类是公共类,文件名应与Public类名匹配。

进一步为您学习以下链接似乎是一个正确的起点,欢迎来到Java世界...... :) :)快乐学习...... :)

First Cup Of Java