如何在gradle java项目中从一个模块获取值到另一个模块?

How to get values from one module to another in gradle java project?

提问人:pradeep 提问时间:8/5/2023 最后编辑:pradeep 更新时间:8/5/2023 访问量:36

问:

我在我的项目中创建了两个模块。

我想从一个模块到另一个模块获取价值。

我的项目的 github 链接

在我的第一个模块中:

package org.example;

public class Main {

    static String c;
    public static void main(String[] args) {
    c = "hai";
    while (true){

    }
    }

    public String geta(){
        return c;
    }
}

在我的第二个模块中:

package org.p;

public class Main {
    public static void main(String[] args) {
        org.example.Main a = new org.example.Main();
        System.out.println(a.geta());
    }
}

输出

null

项目结构

我该如何解决这个问题?

java gradle getter-setter

评论

0赞 markspace 8/5/2023
while (true){是一个无限循环,它永远不会完成。它不会直接导致您的问题,但我不明白您为什么要使用它。
0赞 pradeep 8/5/2023
首先,我运行我的第一个模块,然后我运行第二个模块。所以,我使用了 while 循环。

答:

0赞 markspace 8/5/2023 #1

你的代码很奇怪,我不知道你想做什么。也许一个更完整的例子会澄清这个问题。为了立即得到答案,您可以在此处使用静态初始化。

package org.example;

public class Main {

    static String c = "hai";

    public static void main(String[] args) {
    }

    public String geta(){
        return c;
    }
}

若要访问由方法初始化的字段,必须先调用该方法。不要在这些方法中放置无限循环或糟糕的代码,它们不会完成。

package org.p;

public class Main {
    public static void main(String[] args) {
        org.example.Main a = new org.example.Main();
        a.main(null);
        System.out.println(a.geta());
    }
}

新类:

package org.example;

public class Main {

    private static String c;

    public static void main(String[] args) {
       c  = "hai";
    }

    public String geta(){
        return c;
    }
}

评论

0赞 pradeep 8/5/2023
不,我想从 main 方法设置值。
0赞 markspace 8/5/2023
好吧,首先,不要在你打算调用的方法中放置一个无限循环。为什么要这样做?
0赞 pradeep 8/5/2023
请在 github repo 中看到我的项目,那么只有你了解这个问题。我在gradle项目中有两个模块。回购链接 : github.com/Jeevasimba/connection_between_two_modules_in_java