Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当没有显示错误时,如何修复未在java中执行的主方法?_Java_Xml_Spring_Legacy - Fatal编程技术网

当没有显示错误时,如何修复未在java中执行的主方法?

当没有显示错误时,如何修复未在java中执行的主方法?,java,xml,spring,legacy,Java,Xml,Spring,Legacy,我已经通过XML为account创建了一个bean。我的主要方法现在应该只打印我添加到这个bean中的构造函数参数。程序运行时没有错误,但main没有执行,因此控制台中没有输出 它是一个spring遗留项目simple maven,并且有一个H2数据库,该数据库目前为空,因为我没有使用它 我已经检查了我的主要方法,每行之后都有一个打印,没有一个正在打印,所以我认为它根本没有击中方法 我已经检查了beans.xml,设计似乎已经成功创建。我已经仔细检查了pom.xml,以确保我有正确的groupI

我已经通过XML为account创建了一个bean。我的主要方法现在应该只打印我添加到这个bean中的构造函数参数。程序运行时没有错误,但main没有执行,因此控制台中没有输出

它是一个spring遗留项目simple maven,并且有一个H2数据库,该数据库目前为空,因为我没有使用它

我已经检查了我的主要方法,每行之后都有一个打印,没有一个正在打印,所以我认为它根本没有击中方法

我已经检查了beans.xml,设计似乎已经成功创建。我已经仔细检查了pom.xml,以确保我有正确的groupId。我还右键点击了mainApp文件,进入了runas-runconfigurations,main,并确保它包含了系统文件。在这里,它的主类标记为h2.console

MainApp.java

package com.r00107892.bank;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.r00107892.bank.domain.Account;

public class MainApp {

    public static void main() {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext ("beans.xml");
        Account account = (Account) context.getBean("account");
        System.out.println(account);
    }
}
beans.xml

<bean class="com.r00107892.bank.domain.AccountImplementation" id="account">
    <constructor-arg name = "accountNumber" value="1"></constructor-arg>
    <constructor-arg name = "balance" value="1000"></constructor-arg>
    <constructor-arg name = "overdraft" value="500"></constructor-arg>
</bean>'''

我希望看到bean的属性被打印出来,而我的控制台只是显示光标,就像它在等待输入一样。

您的主方法的签名是错误的。它应该是公共静态字符串[]args

xml配置中的constructor args标记将把相应的值传递给父bean类的构造函数,它是代码中的AccountInformation。它不会传递给main方法,main方法的参数始终是String[]类型

AccountInformation类需要这样的构造函数:

AccountInformation(int accountNumber, int balance, int overdraft)
注意:参数不必是整数。它们可以是任何兼容类型。有关更多信息,请参见此:


非常感谢。这把它修好了。点击另一个错误,但之前没有显示,因此无法继续。