繁体   English   中英

如何从我的java类构建库文件(jar文件)?

[英]how to build a library file (jar file) from my java classes?

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

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

jar -cvf

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

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

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

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

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

javac ClassName.java

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

jar cvf ClassName.jar ClassName.class

这将创建一个JAR文件ClassName.jar,并将ClassName.class文件放在其中。 有关进一步参考, 请参阅文档

您可以使用maven捆绑您的jar,将其部署到像nexus这样的私有仓库 ,然后使用maven依赖关系管理下拉第二个项目中的jar。 从技术上讲,你不需要nexus,你可以建立jar并让它去你当地的.m2回购。 然后,当第二个项目构建时,它将从您当地的.m2仓库中取出jar。 您可以通过在jar项目上运行mvn install来实现此目的。

最简单的步骤

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

接下来搜索谷歌如何设置基本的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>

祝好运并玩得开心点!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM