【问题标题】:Java: How to Integrate Other SoftwareJava:如何集成其他软件
【发布时间】:2012-06-14 18:38:22
【问题描述】:

我一直对 StackOverflow 蜂巢思维印象深刻,希望您能在此处为我指明正确的方向。

我参加了一些 Java 编程课程,并了解如何编写相当复杂的 Java 程序。但是,我从来没有学会如何将别人的软件集成到我自己的程序中。

对于一个新项目,我想将part-pf-speech taggerchunker 集成到我的代码中,但不知道如何“加载”这些程序(如果加载是正确的术语)。

我当然不是在寻找分步说明,而是寻找如何解决此类问题的指南。如果有人能让我朝着正确的方向开始,我将不胜感激。

谢谢, 亚当

【问题讨论】:

    标签: java api nlp integration


    【解决方案1】:

    Java 库通常以 JAR 文件的形式分发。然后在您的程序中,您可以简单地导入新包并使用提供的 API。

    当您编译和运行时,您必须确保这些库包含在您的类路径中,以便它们知道在哪里查找包。

    【讨论】:

      【解决方案2】:

      编译时需要在classpath 上使用它们的类,并在运行程序时再次使用它们。

      这些项目似乎同时分发 src 和 jar。抓住罐子,并在您的classpath 上提供它们。设置类路径后,您需要 import 您正在使用的任何特定类/包。

      请参阅this 管理classpath 的教程。它涵盖了命令行编译/执行的基础知识;如果您使用的是特定的构建系统或 IDE,那么说明会有所不同。

      另请注意第二个链接中有关使数据文件可用的具体说明。为此,他们还使用classpath

      【讨论】:

      • 非常感谢@pb2q。我需要一些时间来吸收这一切,但它看起来真的很有帮助。
      【解决方案3】:

      配置您的构建路径以包含 .jar 文件。

      如果您使用的是 Eclipse,您可以在 Project Explorer 中右键单击项目文件,然后选择 Configure Build Path。最后,添加外部存档(您已下载的存档)。现在这些功能将在您的程序中随时可用。

      或者更稳健的方法是在您的 Eclipse 项目中创建一个名为“lib”的文件夹,并在其中包含所有 jar 文件。然后从 Configure Build Path 窗口中选择 lib 文件夹中的那些 jar 文件。这使得与其他程序员共享项目变得容易,无论他们是在 Windows 还是 Linux 上(添加外部 jar 时,它会保存绝对路径,因此如果 C:\ 上的某些内容不会在其他人的 PC 上找到)还提供了很好的依赖集成GIT、CVS 和 SVN 等源代码管理器上的库。

      【讨论】:

        【解决方案4】:

        看起来您要使用的外部组件本身就是 Java 中的。这意味着您很幸运 - 您可以使用纯 Java 语言功能使其工作。

        有两点:

        1) 必须导入与外部库直接交互的源文件,否则您必须使用完全限定的类名来引用它们。 使用import 语句完成导入。这些语句应该出现在你的类声明之前,如下所示:

        import foo.*;       //import all classes from the package foo
        import foo.bar.Baz; //import only the Baz class from the package foo.bar
        
        public class MyClass {
            Baz myBaz = null;               //declare a member of type Baz class from package foo.bar
            foo.bar.BazBaz myBazBaz = null; //by using a fully qualified classname, I didn't need to write an import statement for foo.bar.BazBaz  
        }
        

        2) 当您编译源代码时,java 编译器需要知道在哪里查找您在源代码中引用的类。这是通过类路径完成的。

        类路径可以是 .class 文件(已编译的 java 类)的列表,也可以是 .jar 文件(java 档案)和 .zip 文件的列表。通常,一个项目会将它需要的所有类打包在一个或多个 .jar 文件中。

        这些类的位置与您在 java 代码中与它们交互的方式无关。编译器的工作是读取这些 jar 和类文件并找到您在代码中引用的类。如果编译器找不到你引用的类,你会得到一个编译时错误,你不能编译你的程序。

        您可以将类路径指定为 java 编译器命令行 (http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#options) 的参数。但是,这很快就会变得笨拙。

        相反,您应该使用像ant 这样的构建工具来为您完成这项工作。最好的入门方法是阅读此页面:http://ant.apache.org/manual/index.html

        从那里,转到“使用 apache ant”,然后完整地转到“编写简单的构建文件”,他们解释了如何很好地设置类路径。

        【讨论】:

        • 谢谢罗兰!这看起来很棒。现在我需要花时间吸收它并实际实施它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多