簡體   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