【问题标题】:how to build a library file (jar file) from my java classes?如何从我的 java 类构建一个库文件(jar 文件)?
【发布时间】:2015-12-30 11:38:42
【问题描述】:

我创建了一些支持性的 java 类来帮助和加速开发。现在我想构建一个 jar 文件(像这样的休眠 jar 文件)收集这些 java 类。然后我可以将该 jar 文件添加到其他项目并使用它.. 我怎么可能做到这一点。?或任何其他建议?

【问题讨论】:

  • 你的 IDE 不支持这个?
  • 您可以通过多种方式在控制台上或借助一些其他工具(如 Ant 或 Maven)来实现这一目标。您能否更具体地说明您想要走的方向以及您的项目范围是什么(有多少类,资源依赖项)?
  • 它只是一个使用 struts、hib 和一些弹簧的小项目.. ;) 。我正在使用 STS IDE。
  • 您好,您的问题解决了吗?对答案提供一些反馈.. 是否有效?

标签: java executable-jar


【解决方案1】:

您可以使用 maven 捆绑您的 jar,将其部署到像 nexus 这样的私有 repo,然后使用 maven 依赖管理在第二个项目中拉下 jar。从技术上讲,您不需要 nexus,您可以构建 jar 并将其转到您本地的 .m2 存储库。然后,当第二个项目构建时,它将从本地 .m2 存储库中提取 jar。您可以通过在 jar 项目上运行 mvn install 来实现。

最简单的步骤

设置你的第一个项目,jar 项目,用 maven 构建。您需要在项目根目录中设置一个 pom.xml。您还应该关注standard folder layout。您不需要为 maven 使用此布局,但它使事情变得更容易。 Maven 将允许您在 pom.xml 的构建元素中覆盖所有这些位置。

接下来在谷歌搜索如何设置一个基本的 pom.xml。将您的第一个项目设置为包类型 jar。下面是一个 pom.xml 示例,说明它对于您的 jar 项目的外观。不要粘贴 ... 它们只是作为占位符存在,因为我不知道您希望如何构建项目的详细信息。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.your.package.base</groupId>
    <artifactId>your-jar-project-name</artifactId>
    <packaging>jar</packaging>
    <name>your-jar-project-name</name>
    <version>1.00</version>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
     ...
    </dependencies>

    <build>
     ...
    </build>



</project>

在根目录中拥有 pom.xml 后,cd 到该目录并运行 mvn install。这将构建 jar 并将其放置在您的本地 .m2 存储库中。接下来,您需要在需要 jar 项目的项目中设置一个 pom.xml。将其插入需要使用 jar 的项目的依赖项部分。

<dependency>
    <groupId>com.your.package.base</groupId>
    <artifactId>your-jar-project-name</artifactId>
    <version>1.00</version>
</dependency>

祝你好运,玩得开心!

【讨论】:

    【解决方案2】:

    首先使用命令行将您的 .java 文件转换为 .class。

    javac ClassName.java
    

    接下来,创建一个包含 ClassName.class 文件的 JAR 文件。在命令窗口中输入以下内容:

    jar cvf ClassName.jar ClassName.class
    

    这将创建一个 JAR 文件 ClassName.jar,并将 ClassName.class 文件放入其中。 进一步参考See the Documentation

    【讨论】:

      【解决方案3】:

      如果您使用的是 eclipse,请尝试安装 fatjar 插件。一旦安装,然后右键单击您的 java 项目,您可以将其构建为 jar。如果需要,您也可以在结果 jar 中包含依赖项。

      【讨论】:

      • 我正在使用 STS ide.. 基于 Eclipse 所以,那个插件也支持 STS?
      【解决方案4】:

      如果您尝试构建 JAR,则取决于您的 IDE。 例如,在 Netbeans 中,您可以运行 clean and build 命令,然后您的 JAR 将被放置在 PROJECT_FOLDER>Dist

      【讨论】:

        【解决方案5】:

        您可以使用以下命令创建一个jar文件

        jar -cvf
        

        这里 c 表示创建,v 表示详细 & f 表示要包含在 jar 中的文件。 如果您的类文件包含主类,则需要包含清单文件以提及主类名称。

        注意:如果你想要一个包含另一个 jar 文件的独立可执行 jar,那么在执行独立 jar 时可能会出现问题,因为在执行时添加的库不会放在类路径中。您可以借助 Eclipse IDE 来创建一个 jar 文件,其中包含成功执行的 jar 文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-14
          • 2011-07-29
          • 1970-01-01
          • 2011-08-09
          • 1970-01-01
          • 2017-08-18
          • 2014-12-21
          相关资源
          最近更新 更多