【问题标题】:Calling Java from a Java console app and an ASP.NET app从 Java 控制台应用程序和 ASP.NET 应用程序调用 Java
【发布时间】:2010-07-01 23:29:39
【问题描述】:

最近我被要求为我的公司编写一个 java 应用程序。我是一名经验丰富的 .Net 开发人员,所以这对我来说是全新的领域。

我的任务是生成一个具有多个高级任务的发票应用程序,例如:

  • 建立单一发票
  • 建立所有发票

我的公司希望能够从 Java 控制台应用程序调用这些任务 - 传递相关命令和参数来调用这些任务。他们还希望能够从 ASP.NET 应用程序调用相同的代码。

因此我的第一个想法是在 Java 中使用 Web 服务。

我的问题是:我可以从 Java 控制台应用程序和 ASP.NET 应用程序使用 Java 中的 Web 服务吗?或者也许有更好的选择。

任何能让我朝着正确方向研究的指针都将不胜感激。

谢谢。

【问题讨论】:

    标签: java asp.net web-services console-application


    【解决方案1】:

    “我的公司希望能够从 Java 控制台应用程序调用这些任务 - 传递相关命令和参数来调用任务。他们还希望能够从 ASP.NET 调用相同的代码申请。”

    我不确定您到底在问什么,但我认为简单的答案是确保您的应用程序具有入口点方法,以便它可以作为命令行应用程序运行。您需要一个具有如下方法的类:

    package foo.bar;
    
    public class Bazz {
    
        ...
    
        public static void main(String[] arguments) {
            // parse the arguments and run the application
            ...
        }
    }
    

    main 方法的签名很关键:

    • 必须是public static
    • 它的名字必须是main
    • 它必须添加一个 String[] 参数,并且,
    • 它必须有一个void 返回类型。

    然后可以从命令行运行此命令,如下所示:

    java -cp <YOUR_CLASS_PATH> foo.bar.Baz arg1 arg2 ...
    

    这也可以通过另一个用 Java 编写的应用程序来完成,(我想)也可以通过 ASP.NET 来完成。

    【讨论】:

      【解决方案2】:

      简单的答案是 - 是的。 Java 有用于定义和部署 Web 服务的库,Java 和 .NET 都有用于生成 Web 服务客户端的实用程序。但这并不是说它会很容易!

      如果我是你,我会改为研究使用 JAX-RS 实现创建 REST 服务(我最喜欢的是 RestEASY)。这将允许您在没有 SOAP 的情况下创建“网络服务”,即 http://server/invoices/1 可能会返回

      <invoice>
       <items>
        <item>apple</item>
        <item>banana</item>
       <items>
       <customer>robert</customer>
       <amount>5.00</amount>
      </invoice>
      

      它应该很容易用任何语言解释。不管怎样,这将是一个陡峭的学习曲线。 Java 和 .NET 之间的主要区别在于,虽然很多功能都内置在 .NET 中,但在 Java 中,它分布在整个生态系统中,这很好,因为它提供了多样性,但是定位功能可能需要更长的时间。

      【讨论】:

        猜你喜欢
        • 2013-12-11
        • 1970-01-01
        • 1970-01-01
        • 2016-03-07
        • 2015-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-11
        相关资源
        最近更新 更多