亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在另一個maven項目中用maven實現項目

在另一個maven項目中用maven實現項目

阿波羅的戰車 2023-01-05 17:06:33
我用 maven 創建了一個 Java 項目,我想在其他 maven 項目中實現它。子項目不是spring項目,是從頭創建的Java項目遷移到maven管理依賴。我可以用 生成 jar mvn install。到目前為止,一切都很好。然后我嘗試將這個 jar 實現到其他用 maven 和 spring 構建的項目。為此,我使用以下命令將該 jar 添加到我的本地 maven 倉庫中:mvn install:install-file -Dfile=/Users/.../target/app-0.0.1-SNAPSHOT.jar -DgroupId=com.mycompany.childapp -DartifactId=childapp -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar然后我可以在.m2 的repo 文件夾中看到jar 文件是正確的。這在父項目 pom.xml 中:<dependency>      <groupId>com.mycompany.childapp</groupId>      <artifactId>childapp</artifactId>      <version>0.0.1-SNAPSHOT</version> </dependency>而且,在插件部分:<plugin>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-maven-plugin</artifactId></plugin>至少對于 Eclipse,一切都很好,因為我可以毫無問題地開發和實現庫中的類。我可以構建父應用程序mvn clean package但是當我運行應用程序并嘗試執行使用子庫的代碼部分時,我會ClassNotFoundException為子項目中的類獲取。在父項目中,在 Maven 導入的庫中,我看到我的庫有一個文件夾圖標,而不是另一個庫的圖標。
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

最后,圖書館就像是……“損壞”……或類似的東西……這是一個 Java 項目(使用 eclipse 向導創建),然后我轉換為 maven(使用 eclipse 向導)。


我從一開始就開始了一個新項目作為 maven 項目,第一次嘗試一切正常......


所以我只需要運行mvn clean install生成 jar 并安裝在 .m2 倉庫中


然后在主應用程序 pom.xml 中,我必須聲明為任何其他依賴項:


<dependency>

        <groupId>com.mycompany</groupId>

        <artifactId>mylibrary</artifactId>

        <version>0.0.1</version>

    </dependency>


查看完整回答
反對 回復 2023-01-05
?
www說

TA貢獻1775條經驗 獲得超8個贊

mvn clean package為父項目創建 jar,但它不包括子 jar。

你應該使用 SpringBoot

  • mvn bootRun在本地運行您的項目

  • mvn bootJar構建包含所有必需依賴項的 fat jar。

    運行這個 fat jar 調用java -jar parent.jar


查看完整回答
反對 回復 2023-01-05
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

根據評論,您想使用 maven 創建一個項目,該項目將創建一個 jar 文件。該 jar 文件將在另一個項目中使用。如果我的理解是正確的。您必須執行以下操作。

  1. 使用簡單類型原型創建一個簡單的 Maven 項目。

  2. mvn clean install使用或之類的命令運行 pom.xml mvn clean package。

  3. 使用簡單項目中的 jar 文件上傳到您的 nexus/artifactory 存儲庫,并在另一個 maven 項目中使用 maven 定義。

如果你沒有nexus或artifactory,你可以在另一個maven項目中本地使用jar文件。

要在另一個項目中本地添加 jar 文件,您必須在 pom.xml 中添加以下依賴結構。

<dependency>

    <groupId>your group id</groupId>

    <artifactId>name of the application</artifactId>

    <version>some version</version>

    <scope>system</scope>

    <systemPath>your location/jar-file-name.jar</systemPath>

</dependency>

希望它能回答你的問題。


查看完整回答
反對 回復 2023-01-05
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號